0

我试试这个,它在我调用的行中给出了标题中提到的错误String.Format

public static void JqueryDialogue(string divId)
{
    String script = String.Format(
        "$(document).ready(function(){ $('#{0}').dialog('open'); });", 
        divId);

    // Gets the executing web page
    Page page = HttpContext.Current.CurrentHandler as Page;
    string codeId = "openDialoge" + divId.ToString();

    // Checks if the handler is a Page and that the script isn't already on Page
    if (page != null && !page.ClientScript.IsClientScriptBlockRegistered(codeId))
    {
        page.ClientScript.RegisterStartupScript(
            typeof(JavascriptHelper), 
            codeId, 
            script,
            true);
    }
} 
4

2 回答 2

5

如果你使用String.Format你需要转义你想要输出的字符{和字符,因为它们是 Javascript 代码。}为此,您分别使用{{}}

您可以在此处阅读有关字符串格式的更多信息,其中还解释了转义花括号导致的奇怪行为。

于 2012-06-04T09:00:44.813 回答
0

我认为您将需要转义{after 函数声明,例如

String script = String.Format("$(document).ready(function()
{{ $('#{0}').dialog('open'); }});", divId);
于 2012-06-04T09:02:10.460 回答