c# - string.Format 在 HTML + javascript 上抛出 System.Format 异常

标签 c# .net asp.net string

我在一个包含一些 HTML + javascript 的只读字符串上运行 string.Format,但我得到了一个 System.FormatException

这是我的格式字符串:

<script type="text/javascript">
    function {0}_showHideFieldWindow() {
        if ({0}.IsCustomizationWindowVisible()) {
            {0}.HideCustomizationWindow();
        } else {
            {0}.ShowCustomizationWindow();
        }
    }
</script>

我所做的只是传递对象名称。像这样:

string.Format(javascript, "grid");

最佳答案

由于字符串中有花括号,因此需要将它们加倍来转义它们({{}} ) 以防止格式化程序认为它们是标记。

您的字符串初始化应如下所示:

String javascript = @"<script type=""text/javascript"">
            function {0}_showHideFieldWindow() {{
            if ({0}.IsCustomizationWindowVisible()) {{
                {0}.HideCustomizationWindow();
            }} else {{
                {0}.ShowCustomizationWindow();
            }}
        }}
    </script>";

关于c# - string.Format 在 HTML + javascript 上抛出 System.Format 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/808924/

相关文章:

c# - 在窗体之间切换

c# - WebApi Put如何从指定的属性中告诉未指定的属性设置为null?

asp.net - POODLE漏洞。如果客户端的浏览器可以回退到IIS上的SSL 3.0,则发出警告

asp.net - 如何使用 JQuery 更改 Css 类?

.net - 将返回 List<employee> 的方法绑定(bind)到 gridview

jquery - 类型错误 : data[0] is undefined

c# - Unity 3D - 没有旋转轴的旋转游戏对象

c# - 调查 XMLReader 对象

c# - 您是否应该对共享相同私有(private)实现的单独方法进行重复单元测试?

c# - 更改绑定(bind)到 DataGridView 的 DataTable 中的列顺序不会反射(reflect)在 View 中