在ContentPage中使用时,ASP UpdatePanel不起作用

时间:2014-03-24 08:55:51

标签: c# asp.net

我的代码在普通的webform中使用时效果很好。但是当我使用主页在webform中使用它时,它不起作用。


页眉:〜/ Manager / BaseManager.master


和一些嵌套母版页:Base.master> Pages.master> BaseManager.master


ASP

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
   <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
      <Triggers>
         <asp:AsyncPostBackTrigger EventName="Click"
              ControlID="btnUpdateEditPage" />
      </Triggers>
      <ContentTemplate>
         <asp:Label ID="lblTest" runat="server" Text="Label"></asp:Label>
      </ContentTemplate>
   </asp:UpdatePanel>
<asp:Button ID="btnUpdateEditPage" CssClass="btnUpdateEditPage" runat="server"  
     Text="Button" OnClick="btnUpdateEditPage_Click" />

C#

protected void btnUpdateEditPage_Click(object sender, EventArgs e)
{
   lblTest.Text += "**";
}

3 个答案:

答案 0 :(得分:1)

请执行以下操作:

1-添加UpdatePanel1.Update();如下:

protected void btnUpdateEditPage_Click(object sender, EventArgs e)
{
   lblTest.Text += "**";
   UpdatePanel1.Update();
   //Your UpdatePanel should be UpdateMode="Conditional" as what you have now..
}

2-将按钮放在更新面板中

3-删除触发器以不回发帖子,因此您的代码必须如下:

 <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
   <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
      <ContentTemplate>
         <asp:Label ID="lblTest" runat="server" Text="Label"></asp:Label>
         <asp:Button ID="btnUpdateEditPage" CssClass="btnUpdateEditPage" runat="server"  
                Text="Button" OnClick="btnUpdateEditPage_Click" />
      </ContentTemplate>
   </asp:UpdatePanel>

答案 1 :(得分:0)

将按钮放在UpdatePanel内。

答案 2 :(得分:0)

解决。

我改变了

<form id="form1" runat="server" action="post">

<form id="form1" runat="server">

我的问题解决了。 但为什么呢?!