2011-11-28 37 views
0

我在aspx頁面上添加了3個updatepanel。兩個updatepanel包含gridview.And我使gridview paging.two按鈕填充這個gridviews clicked.I設置它們兩個觸發器和條件狀態。第三個updatepanel包含textbox.And我設置updatemode條件,觸發第三個按鈕。asp.net多一個updatepanel不工作

這是我的問題,當我點擊第一個第三個按鈕時,我從gridview中選擇了檢查的數據字段,運行成功。 但是,當我點擊後點擊一下,第三個updatepanel和gridview分頁不起作用。

<asp:UpdatePanel ID="UpdatePanelWorkFLow" runat="server"> 
    <%--<Triggers> 
    <asp:PostBackTrigger ControlID="btnGenerate" /> 
    </Triggers>--%> 
    <ContentTemplate> 
     <asp:GridView ID="GridWorkFlow" runat="server" AllowPaging="True" AutoGenerateColumns="False" 
      EnableSortingAndPagingCallbacks="false" CellPadding="4" ForeColor="#333333" GridLines="None" 
      OnPageIndexChanging="GridWorkFlow_PageIndexChanging"> 
      <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
      <Columns> 
       <asp:TemplateField ShowHeader="true" HeaderText="Seç"> 
        <ItemTemplate> 
         <asp:CheckBox ID="checkWorkFlow" runat="server" /> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField Visible="False"> 
        <ItemTemplate> 
         <asp:Label ID="labelWorkFlowId" runat="server" Text='<%# Eval("WorkFlowId")%>'></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="WorkFlow Adi"> 
        <ItemTemplate> 
         <asp:Label ID="labelWorkFlowName" runat="server" Text='<%# Bind("Name") %>'></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="Birincil Entity Adi"> 
        <ItemTemplate> 
         <asp:Label ID="labelPrimaryEntity" runat="server" Text='<%# Bind("PrimaryEntity") %>'></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField Visible="true" HeaderText="Durum Açiklamasi"> 
        <ItemTemplate> 
         <asp:Label ID="labelWorkFlowStaus" runat="server" Text='<%# GetStatusCodeText(DataBinder.Eval(Container.DataItem,"StatusCode"))%>'></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
      <EditRowStyle BackColor="#999999" /> 
      <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> 
      <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> 
      <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> 
      <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> 
      <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> 
      <SortedAscendingCellStyle BackColor="#E9E7E2" /> 
      <SortedAscendingHeaderStyle BackColor="#506C8C" /> 
      <SortedDescendingCellStyle BackColor="#FFFDF8" /> 
      <SortedDescendingHeaderStyle BackColor="#6F8DAE" /> 
     </asp:GridView> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="btnWorkFLow" EventName="Click" /> 
    </Triggers> 
</asp:UpdatePanel> 

我gridview的分頁代碼

WorkFlowDataBind(); 
    GridWorkFlow.PageIndex = e.NewPageIndex; 
    GridWorkFlow.DataBind(); 

我的第三個按鈕的代碼

string userQueryId = GetUserQueryId(); 
    string userqueryName = GetUserQueryName(); 
    string workFlowId = GetWorkFlowId(); 
    string primaryEntityName = GetWorkFlowPrimaryEntity(); 
    GetWorkFlowName(); 

我一個和第二個按鈕點擊時負載的GridView

Datatable dtUserQuery=GetDataTable(); 
    GridUserQuery.DataSource = dtUserQuery; 
    GridUserQuery.DataBind() 

我怎樣才能解決。

+0

代碼please____ –

+0

Adam我編輯我的帖子我的代碼 – engcmreng

+0

你能粘貼整個代碼嗎? –

回答

0

邏輯是..如果你在同一個頁面上的一個或多個更新面板,那麼所有更新面板的性能應該是相同的,例如,如果更新面板數據相互

Update Mode : Always 
EnableViewState : true(if you are using it) 

或者你可以依賴當模式有條件時明確更新更新面板

讓我們假設您有兩個更新面板,比如up1和up2。 您已將標籤放在up1中,並將其他形式或按鈕放置在up2中。 現在在up2中的click事件中,放置在up1中的標籤應該在不加載完整頁面的情況下更新。設置以下的東西

  1. 設置EnableParitialRendering = '真'(腳本管理)

  2. 集更新模式:有條件的(上一條)

  3. 設置更新模式:始終(UP2)。所有的設置都在這裏完成。點擊up2中的一個按鈕,執行你的工作並調用up1.Update();就這樣。