使用代码后面的参数触发 js 函数

Trigger a js function with parameter from code behind

C# 从代码后面触发带有参数的 js 函数。 我有以下代码:

C#:

 ScriptManager.RegisterStartupScript(this, this.GetType(), "ScriptManager1", String.Format(@"ShowHideMessageBlock('{0}')", @"#successMsg"), true);

js:

function ShowHideMessageBlock(xid) {
    var c = xid;
    console.log(c);

    $(c).fadeIn('slow', function () {
        $(this).delay(5000).fadeOut('slow');
    });
}

当我打开控制台时 window 我收到以下消息:Uncaught SyntaxError: Unexpected identifier

渲染函数现在是:

<script type="text/javascript">
//<![CDATA[
ShowHideMessageBlock('#successMsg')Sys.Application.add_init(function() {
    $create(Sys.UI._UpdateProgress, {"associatedUpdatePanelId":null,"displayAfter":500,"dynamicLayout":true}, null, null, $get("updateProgress"));
});
//]]>
</script>

有人可以帮我解决这个问题吗? (它在过去有效)也许我有 changed/broken 东西但它不再起作用了。

您需要做的就是在 String.Format 调用的末尾添加一个分号。

ScriptManager.RegisterStartupScript(this, this.GetType(), "ScriptManager1", 
    String.Format(@"ShowHideMessageBlock('{0}');", @"#successMsg"), true);