[英]ASP.NET UpdatePanel dosn't work with Response.Write in Page_Load
我有那个例子:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<fieldset>
<legend>UpdatePanel</legend>
<asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br />
</fieldset>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
protected void Page_Load(object sender, EventArgs e)
{
// doesn work with:
Response.Write("eg.");
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Refreshed at " + DateTime.Now.ToString();
}
这很好。 当我单击Button
, Label
更新而不刷新页面,但是如果我在Page_Load
事件中具有Response.Write
,则当我单击按钮时, UpdatePanel
不起作用,并且需要Page_Load
。
我该如何解决我的问题? 谢谢。
不要在Page_Load
函数中使用Response.Write()
,因为它将破坏UpdatePanel
。
实际上,使用Response.Write()
通常不是一个好主意,因为您无法控制DOM写入内容的最终位置。 相反,如果您需要一些简单的调试输出,请使用其他方法,例如System.Diagnostics.Debug.WriteLine()
。 或者,如果您需要向DOM中添加内容,则添加诸如Label
的控件并对其进行操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.