none
Updatepanel局部刷新与全部刷新的问题 RRS feed

  • 问题

  •  <ajaxToolKit:ModalPopupExtender ID="mdlPopup" runat="server" TargetControlID="btnAddUser" PopupControlID="ChkUserPanel" 
    
         BackgroundCssClass="modalBackground" PopupDragHandleControlID="ChkUserPanel"
    
         RepositionMode="RepositionOnWindowResize" /> 
    
          
    
     
    
     <asp:Panel ID="ChkUserPanel" runat="server" CssClass="confirm-dialog" style="display:none; margin-bottom:10px" Width="330px">
    
     <asp:UpdatePanel ID="updPnlUserDetail" runat="server" UpdateMode="Conditional" >
    
     <ContentTemplate>  
    
     
    
      <div class="inner" style=" float:left">
    
         <div style="color:Red" id="erms">
    
        <asp:Label ID="lblPleaseSelectOneUser" runat="server" Visible="false"></asp:Label>
    
       </div>
    
       <div>
    
       <table>
    
       <tr>
    
       <td><asp:Label ID="lblsearchName" runat="server" ></asp:Label></td>
    
       <td>&nbsp;&nbsp;&nbsp;<asp:TextBox ID="txtFullName" runat="server"></asp:TextBox></td>
    
       <td>&nbsp;&nbsp;&nbsp;<asp:Button ID="btnSearch" runat="server" CssClass="frmBtn" OnClick="Search_click" /></td>
    
       </tr>
    
       </table>
    
       </div>
    
       <div>   
    
       <asp:GridView ID="gv_chkUser" runat="server" AutoGenerateColumns="False" CellPadding="0" BorderWidth="0px" HeaderStyle-Font-Bold="true" GridLines="None" CssClass="content_datatable" Width="300px" AllowPaging="true" PageSize="10" onpageindexchanging="gv_chkUser_PageIndexChanging" DataKeyNames="uid" >
    
       <HeaderStyle CssClass="content_datatable_header"/>
    
       <RowStyle CssClass="content_datatable_row" />   
    
       <Columns>
    
          <asp:TemplateField >      
    
          <HeaderTemplate>
    
          <asp:CheckBox ID="chkAll" runat="server" OnCheckedChanged="checkall_OnCheckedChanged" AutoPostBack="true" />
    
          </HeaderTemplate>
    
          <ItemTemplate>
    
          <asp:CheckBox ID="chkOne" runat="server" />
    
          </ItemTemplate>
    
          </asp:TemplateField>      
    
          <asp:TemplateField HeaderText="Full Name" >      
    
          <ItemTemplate>
    
           <%# Eval("fullname")%>
    
          </ItemTemplate>
    
          </asp:TemplateField>
    
          </Columns>
    
       </asp:GridView>    
    
       </div>  
    
       <div style="float:right; height=30px; margin-top:10px">
    
        <asp:Button ID="btnAdd" runat="server" CssClass="frmBtn" OnClick="btnAdd_click" />&nbsp;&nbsp;<asp:Button ID="btnClose" runat="server" CssClass="frmBtn" OnClick="btnClose_onclick" />
    
       </div>   
    
      </div> 
    
      </ContentTemplate>
    
      <Triggers>  
    
         <asp:AsyncPostBackTrigger ControlID="btnAdd" EventName="click" />
    
      </Triggers>
    
     </asp:UpdatePanel>  
    
     </asp:Panel> 
    
    

    使用了ajaxToolKit:ModalPopupExtender弹出了一个Panel,用来选择用户,Panel中包括一个Gridview和两个button。在Panel中选择一个用户后,点击"btnAdd"按钮时,把用户添加到Updatepanel外面的Gridview中。如果没有选择用户时点击了"btnAdd"按钮,Updatepanel内部的Label(ID="lblPleaseSelectOneUser")会显示提示信息。

    怎样才能让没有选择用户时点击"btnAdd"按钮时UpdatePanel内部刷新显示提示信息(外部不刷新),选择用户后,则刷新UpdatePanel外面的内容。

    我设置了AsyncPostBackTrigger ,如果没有选择用户点btnAdd"按钮后,UpdatePanel内部刷新了(有提示信息),但是外部没有刷新,UpdatePanel外面的Gridview执行了后台代码,数据也重新绑定了,但就是不显示,不知道怎么才能让 btnAdd"按钮 动态的控制刷新。高手们指点一下。

    2010年8月30日 1:53

答案