我正在尝试在 Page_Load 上从服务器端运行客户端脚本,我从here找到了此代码。 这是服务器端代码:
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。
答案 0 :(得分:1)
在页面末尾定义之前,您正在调用alertMe()
。
使用asp.net注册的所有脚本都以表单标记呈现。
我建议将您的javascript块移到页面的头部。
<head runat="server">
<script type="text/javascript">
function alertMe() {
alert('Hello');
}
</script>
</head>
这是您的modified code run按预期工作。
答案 1 :(得分:0)
我建议你检查两件事
你的js功能是不是在其他功能中。然后它对服务器
包含您脚本的html标记是否为runat="server"
标记。
在你的情况下:
<head runat="server">
<script type="text/javascript">
function alertMe() {
alert('Hello');
}
</script>
</head>