ASP.NET: RegisterStartupScript does not work
本文关键字:not work does RegisterStartupScript NET ASP | 更新日期: 2023-09-27 17:54:36
我试图从服务器端运行客户端脚本Page_Load,我从这里找到了这个代码。这是服务器端代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!ClientScript.IsStartupScriptRegistered("alert"))
{
Page.ClientScript.RegisterStartupScript(this.GetType(),
"alert", "alertMe();", true);
}
}
客户端代码:
<script type="text/javascript">
function alertMe() {
alert('Hello');
}
</script>
但是Page_Load没有任何变化。
:源代码coderun。
您在定义alertMe()
之前调用它,位于页面末尾。
所有在asp.net中注册的脚本都在form标签中呈现。
我建议把你的javascript块移动到页面的头部。
<head runat="server">
<script type="text/javascript">
function alertMe() {
alert('Hello');
}
</script>
</head>
这是你修改后的代码运行,如你所愿
我建议你检查两件事
-
Is你的js函数不在其他函数中。那么对于服务器
是不可见的 是html标签包含你的脚本有
runat="server"
标签
在你的例子中:
<head runat="server">
<script type="text/javascript">
function alertMe() {
alert('Hello');
}
</script>
</head>