用updatepanle测试局部更新,却不能实现其功能。奇怪ing!望达人帮忙下。
环境:vs2008
代码如下:
前台:
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" EnablePartialRendering="true" >
</asp:ScriptManager>
<asp:TextBox ID="txtName" runat="server" />
<%=DateTime.Now.ToString() %>
<asp:UpdatePanel ID="up2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="txtId" runat="server" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnTest" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<asp:Button ID="btnTest" runat="server" Text="test" OnClick="btnTest_Click" />
</div>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
this.txtName.Text = DateTime.Now.ToString();
if (Page.IsPostBack)
return;
// ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(this.btnTest);
}
protected void btnTest_Click(object sender, EventArgs e)
{
this.txtId.Text = DateTime.Now.ToString();
}
UpdateMode="Conditional"
加了这个设置、在UpdatePanel 外面的控件的要使 UpdatePanel 进行更新的话, 必须要加触发器<asp:UpdatePanel ID="up2" runat="server" UpdateMode="Conditional">
<Triggers><asp:PostBackTrigger ControlID="btnTest" />或者在
<Triggers>
<ContentTemplate>
protected void btnTest_Click(object sender, EventArgs e)
{
this.txtId.Text = DateTime.Now.ToString();
this.up2.Update();
}
先不加“Triggers”,把Button放里面,看行不行,确保你的环境没有问题。
建议去找一个老赵的ajax深入浅出教程看一下,有一节专门讲了updatepanel的使用.什么问题都包含了.webcast上面有