我想知道Page.ClientScript.RegisterClientScriptBlock
工作时ScriptManager.RegisterClientScriptBlock
无效的原因
我的代码正在使用此代码:
this.Page.ClientScript.RegisterClientScriptBlock(GetType(), "headerComment", "<script>NOT WORKING</script>", false);
过去它过去常常工作
所以我试图找到一个解决方案,我确实发现主页不包含
<form id="form1" runat="server">
当我添加form
代码this.Page.ClientScript.RegisterClientScriptBlock
时
没有工作,然后我尝试使用ScriptManager.RegisterClientScriptBlock(this.Page, GetType(), "headerComment", "<script>WORKING</script>", false);
它起作用了。
我更喜欢使用Page.ClientScript.RegisterClientScriptBlock
而不是ScriptManager.RegisterClientScriptBlock
,这样我就不需要更改现有的工作代码。
我没有找到差异,如果这些差异之间存在差异...... ScriptManager.RegisterClientScriptBlock
更改会导致我的应用程序发生此更改。
可能是什么原因:
this.Page.ClientScript.RegisterClientScriptBlock(GetType(), "headerComment", "<script>NOT WORKING using 'Page.ClientScript.RegisterClientScriptBlock'</script>", false);
无效?
答案 0 :(得分:0)
对我有用的解决方案是包装母版页的正文内容
form
标记带有runat="server"
属性:
<body>
<form id="form1" runat="server">
...
...
</form>
</body>
然后,从母版页中运行的任何代码页面开始,以下代码可以正常工作
Page.ClientScript.RegisterClientScriptBlock(GetType(), "scriptId", "<script>console.log('working');</script>", false);