首先创建一个自定义控件:
前台代码:
<div>
<asp:UpdatePanel ID="upl" runat="server">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" Text="自定义控件中updatepanel里"
onclick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div>
<asp:Button ID="Button2" runat="server" Text="自定义控件中不在updatepanel里"
onclick="Button2_Click" />
</div>
后台代码:
protected void Button1_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "Manage", "window.setTimeout('alert(\"" + "我在自定义控件中,而且还在updatepanel里面" + "\");',0);", true);
}
protected void Button2_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "Manage", "window.setTimeout('alert(\"" + "我在自定义控件中,但是不在updatepanel里面" + "\");',0);", true);
}
在页面中引用该自定义控件:
前台代码:
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" Text="页面中updatepanel里"
onclick="Button1_Click" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div>
<asp:Button ID="Button2" runat="server" Text="页面中不在updatepanel里"
onclick="Button2_Click" />
</div>
<UPL:Test ID="upl" runat="server" />
后台代码:
protected void Button1_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "Manage", "window.setTimeout('alert(\"" + "我在页面中,而且还在updatepanel里面" + "\");',0);", true);
}
protected void Button2_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "Manage", "window.setTimeout('alert(\"" + "我在页面中,但是不在updatepanel里面" + "\");',0);", true);
}
结论:当在自定义控件中,且在updatePanel里, 后台想要弹出提示框不成功。