2013-10-29 129 views
0

我有一个页面,里面更新panel.it包含两个gridview里面也更新panels.im绑定它们在页面加载里面!ispostback以及其他部分code.when我只绑定第一个网格它工作正常,但当我绑定第二个网格刷新第一个,它显示没有data.is这是更新面板用法或任何其他问题使用不当的问题..我怎么能在这里使用触发器。刷新更新面板里的gridview

我的代码如下..

<asp:UpdatePanel ID="updgrd1" runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 
<asp:GridView ID="GridView1" runat="server" Width="85%"ShowHeaderWhenEmpty="true"EmptyDataText="No Records Found" AutoGenerateColumns="false"OnRowCancelingEdit="GridView1_RowCancelingEdit"OnRowEditing="G dView1_RowEditing"> 
<Columns> 
//my code here 
</Columns> 
</asp:GridView> 

</ContentTemplate> 
<Triggers> 
<asp:AsyncPostBackTrigger ControlID="btnUpdate" EventName="Click" /> 

</Triggers> 
</asp:UpdatePanel> 


<asp:UpdatePanel ID="updgrd2" runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 
<asp:GridView ID="GridView2" runat="server" Width="85%" ShowHeaderWhenEmpty="true" AutoGenerateColumns="false" EmptyDataText="No Records Found"> 
<Columns> 
//my code here 
</Columns> 
</asp:GridView> 
</ContentTemplate> 
<Triggers> 
<asp:AsyncPostBackTrigger ControlID="btnUpdate" EventName="Click" /> 
<asp:AsyncPostBackTrigger ControlID="btnSave" EventName="Click" /> 
</Triggers> 
</asp:UpdatePanel> 

protected void Page_Load(object sender, EventArgs e) 
{ 
if(!ispostback) 
{ 
LoadGrid1(); 
LoadGrid2(); 
} 
} 
+0

能否请您添加更新和保存方法? –

+0

这是发生在Page_Load或其他事件?如果在其他情况下请发布您的代码 –

回答

0

在这里,我做你的确切位置。在这里我有一个文本框和一个GridView,点击添加文本框中的任何东西都会被添加到GridView中。

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <Triggers> 
     <asp:AsyncPostBackTrigger controlid="LnkAddTrack" eventname="Click" />   
    </Triggers> 

     <ContentTemplate> 
     <div id="EventTrack" > 
      <asp:Label ID="lblEventTracks" runat="server" Text="Event Tracks"></asp:Label>&nbsp; 
      <asp:TextBox ID="txtEventTracks" CssClass="EventTextbox" runat="server"></asp:TextBox> 
      <asp:LinkButton ID="LnkAddTrack" ClientIDMode="Static" runat="server" OnClick="LnkAddTrack_Click">Add Track</asp:LinkButton> 
      </div> 

<asp:GridView ID="dgTracks" runat="server" > 
       <Columns> 
        <asp:TemplateField HeaderText="TrackName"> 
         <ItemTemplate>      
          <asp:Label ID="Control" runat="server" Text='<%# Eval("TrackName") %>'></asp:Label>       
         </ItemTemplate>           

        </asp:TemplateField> 
       </Columns> 
      </asp:GridView> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

然后确保你对你的按钮事件添加新的数据你正确添加数据 ,记得重新绑定gridview的。

protected void LnkAddTrack_Click(object sender, EventArgs e) 
    { 
     InsertTrack(); 
     DgPopTracks(); 
    } 

各位如果有任何问题,如果你想看到我插入跟踪和DgPopTr​​acks事件 我可以张贴他们和你