【发布时间】:2013-07-11 20:18:44
【问题描述】:
我只是想学习一些 Asp.net Ajax 的东西并从我的 C# 脚本中调用 javascript。
我有一个计时器,它触发一个调用超级简单的 javascript 警报函数的方法。 它还每 10 秒更新一次时间。现在看起来我的代码应该可以工作了。没有构建错误,没有例外,只是它不起作用。更新时间的 C# 部分。 javascript 不会发出警报。
<%@ Page Language="C#" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title></title>
<script runat="server">
protected void Page_load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Label1.Text = DateTime.Now.ToString();
}
}
protected void Timer1_Tick(object sender, EventArgs e)
{
const string someScript = "alertMe";
Label1.Text = DateTime.Now.ToString();
ClientScript.RegisterStartupScript(this.GetType(),someScript, "alert('I was called from Content page!')", true);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager runat="server"> </asp:ScriptManager>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Label runat="server" ID="Label1"></asp:Label>
<asp:Timer ID="Timer1" runat="server" Interval="10000" OnTick ="Timer1_Tick"></asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
【问题讨论】:
-
这一切都很糟糕,但 UpdatePanel 需要注意任何触发器,因此请尝试为 Timer 添加一个。
-
嗯,更新标签的 C# 部分工作正常,并执行异步回发,每 10 秒更改标签中的时间。我对 UpdatePanel 没有任何问题,我的问题是为什么 javascript 不能正常工作。
标签: c# javascript asp.net asp.net-ajax