如果使用Ajax控件实现无刷新弹出提示框,在后台写下面方法不能正常显示提示的内容
Response.Write("<script>alert('你好');</script>");
解决方法:
ScriptManager.RegisterStartupScript(UpdatePanel1,typeof(UpdatePanel),"Button2","<script>alert('你好');</script>",
其中第一个参数为要注册脚本的控件ID,试了一下,只要是本页面的就行。
第二个参数为注册脚本控件类型,是控件还是this的GetType()都可以,typeOf(string)也没问题.
第三个脚本函数的名字,随便起。
第四个是脚本内容。
第五个是标明是否再添加脚本标签,如果第四个参数里包含了<script></script>标签,此处则为false,否则为true。
代码如下: (主要代码)
aspx.cs页:
-
protected void Button1_Click(object sender, EventArgs e) -
{ -
Response.Write("<script>alert('你好');</script>"); -
} -
protected void Button2_Click(object sender, EventArgs e) -
{ -
ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), "Button2", "<script>alert('你好');</script>", false); -
} - }
aspx页:
- <body>
-
<form id="form1" runat="server"> -
<div> -
<asp:ScriptManager ID="ScriptManager1" runat="server"> -
</asp:ScriptManager> -
-
<asp:UpdatePanel ID="UpdatePanel1" runat="server"> -
<ContentTemplate> -
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click"Text="Button1" /> -
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> -
</ContentTemplate> -
</asp:UpdatePanel> -
</div> -
</form> - </body>