2015-11-07 77 views
-1

我遇到了这个问题,我无法真正了解到底发生了什么。 所以我有我的Default.aspx页面,我注册了2个UserControls,即logctrl和valctrl。从logctrl我想更新valctrl内的一个textarea当我按下特定的按钮。一切工作正常,直到我介绍一个ASP:UpdatePanel显示加载模式。 出于某种原因,我点击了logctrl中的相同按钮后,textarea没有被填充。需要一些帮助了解asp:UpdatePanel如何工作

Default.aspx的

<asp:Panel ID="Panel1" runat="server" Height="380px" CssClass="background1">  
     <div class="content-wrapper"> 
      <uc2:logctrl id="CtrlLog" runat="server"></uc2:logCtrl> 
      <uc1:valctrl id="CtrlVal" runat="server"></uc1:valCtrl> 
     </div>   
</asp:Panel> 

logctrl.ascx

<asp:UpdatePanel ID="Panel1" runat="server"> 
    <ContentTemplate> 
     <asp:Button ID="logonButton" runat="server" Text="Logon" OnClick="logonButton_Click" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 
<asp:UpdateProgress id="updateProgress" runat="server"> 
     <ProgressTemplate> 
      <div style="position: fixed; text-align: center; height: 100%; width: 100%; top: 0; right: 0; left: 0; z-index: 9999999; background-color: #000000; opacity: 0.7;"> 
       <asp:Image ID="imgUpdateProgress" runat="server" ImageUrl="~/Images/loading.gif" AlternateText="Loading ..." ToolTip="Loading ..." style="padding: 10px;position:fixed;top:45%;left:50%;" /> 
      </div> 
      <div style="position: fixed; text-align: center; height: 100%; width: 100%; top: 0; right: 0; left: 0; z-index: 9999999; background-color: #000000; opacity: 0.7;"> 
       <span style="border-width: 0px; position: fixed; padding: 50px; background-color: #FFFFFF; font-size: 36px; left: 40%; top: 40%;">Loading ...</span> 
      </div>    
     </ProgressTemplate> 
</asp:UpdateProgress> 

回答

0

你必须触发器添加到更新面板,让它知道事情有了变化。您必须知道该控件的哪个控件和哪个事件触发了更新。或者,您可以将更新面板的更新模式属性设置为“始终”。在设计器视图中单击更新面板的属性以添加触发器