Jam*_*res 7 .net c# asp.net string
我正在运行string.Format一个包含一些HTML + javascript的readonly字符串,但我得到了一个System.FormatException.
这是我的格式字符串:
<script type="text/javascript">
function {0}_showHideFieldWindow() {
if ({0}.IsCustomizationWindowVisible()) {
{0}.HideCustomizationWindow();
} else {
{0}.ShowCustomizationWindow();
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
我正在做的就是传递对象名称.像这样:
string.Format(javascript, "grid");
Run Code Online (Sandbox Code Playgroud)
And*_*are 12
由于你在字符串中有大括号,你需要通过将它们加倍({{和}})来逃避它们,以防止格式化程序认为它们是标记.
您的字符串初始化应如下所示:
String javascript = @"<script type=""text/javascript"">
function {0}_showHideFieldWindow() {{
if ({0}.IsCustomizationWindowVisible()) {{
{0}.HideCustomizationWindow();
}} else {{
{0}.ShowCustomizationWindow();
}}
}}
</script>";
Run Code Online (Sandbox Code Playgroud)
String.Format需要额外的括号进行转义.你可能最好做这样的事情,如果你不需要所有String.Format的功能,这可能比转义每个括号更具可读性:
mystring.Replace("{0}","grid");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6075 次 |
| 最近记录: |