【问题标题】:Refresh gridview inside update panels刷新更新面板内的gridview
【发布时间】:2013-10-29 12:42:03
【问题描述】:

我有一个在更新面板内的页面。它包含两个也在更新面板内的网格视图。我将它们绑定到 !ispostback 内的页面加载以及代码的其他部分。当我只绑定第一个网格时它工作正常但是当我绑定第二个网格时,它会刷新第一个网格并且它没有显示任何数据。这是更新面板使用不当的问题还是任何其他问题。我如何在这里使用触发器。

我的代码如下..

<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();
}
}

【问题讨论】:

  • 你能添加你的更新和保存方法吗?
  • 它发生在 Page_Load 或其他事件中?如果在其他情况下,请发布您的代码

标签: c# asp.net asp.net-ajax updatepanel


【解决方案1】:

在这里,我正在做你正在做的事情。在这里,我有一个文本框和一个网格视图,当单击添加时,文本框中的任何内容都会添加到网格视图中。

 <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();
    }

如果您想查看我的 Insert Track 和 DgPopTr​​acks 活动,可以提出任何问题 我也可以发给你

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多