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');
});
}
当我打开控制台窗口时,我得到以下消息:未捕获的语法错误:意外的标识符
现在呈现的功能是:
<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>
有人能帮我解决这个问题吗。(它在过去起作用)也许我改变了/坏了什么,但它不再起作用了。
您所需要做的就是在String.Format
调用的末尾添加一个分号。
ScriptManager.RegisterStartupScript(this, this.GetType(), "ScriptManager1",
String.Format(@"ShowHideMessageBlock('{0}');", @"#successMsg"), true);