我有疑问。我正在使用带有更新面板的datatables插件。我想要点击更新选定的行更新。但是,当我有一页以上的页面时,我遇到了问题。因为当我点击2.页面点击更新返回1页。我想留下这个页面。我能做什么。
<asp:Panel ID="pnlicerik" runat="server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="example" DataKeyNames="ID" AutoGenerateColumns="false" runat="server" CssClass="gvdatatable" OnRowDataBound="example_RowDataBound" OnRowEditing="example_RowEditing" OnRowCancelingEdit="example_RowCancelingEdit" OnRowUpdating="example_RowUpdating" ClientIDMode="Static">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:TemplateField HeaderText="ID" ItemStyle-Width="150">
<ItemTemplate>
<asp:Label ID="Sıra" runat="server" Text='<%# Eval("ID") %>'></asp:Label>
</ItemTemplate>
<%-- <EditItemTemplate>
<asp:TextBox ID="txtad" runat="server" Text='<%# Eval("ID") %>'></asp:TextBox>
</EditItemTemplate>--%>
</asp:TemplateField>
<asp:TemplateField HeaderText="Başlık" ItemStyle-Width="150">
<ItemTemplate>
<asp:Label ID="lblGonderino" runat="server" Text='<%# Eval("BaslikAd") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtbaslikad" runat="server" Text='<%# Eval("BaslikAd") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tarih" ItemStyle-Width="150">
<ItemTemplate>
<asp:Label ID="lblgonderen" runat="server" Text='<%# Eval("Tarih") %>'></asp:Label>
</ItemTemplate>
<%-- <EditItemTemplate>
<asp:TextBox ID="txttarih" runat="server" Text='<%# Eval("Tarih") %>'></asp:TextBox>
</EditItemTemplate>--%>
</asp:TemplateField>
<asp:TemplateField HeaderText="Seo" ItemStyle-Width="150">
<ItemTemplate>
<asp:Label ID="lblalici" runat="server" Text='<%# Eval("Seo") %>'></asp:Label>
</ItemTemplate>
<%-- <EditItemTemplate>
<asp:TextBox ID="txtseo" runat="server" Text='<%# Eval("Seo") %>'></asp:TextBox>
</EditItemTemplate>--%>
</asp:TemplateField>
<asp:TemplateField HeaderText="Onaylı" ItemStyle-Width="150">
<ItemTemplate>
<asp:Label ID="lblagirlik" runat="server" Text='<%# Eval("Ok") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<%-- <asp:TextBox ID="txtok" runat="server" Text='<%# Eval("Ok") %>'></asp:TextBox>--%>
<asp:CheckBox ID="chck" runat="server" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Kullanıcı" ItemStyle-Width="150">
<ItemTemplate>
<asp:Label ID="lblvaris" runat="server" Text='<%# Eval("UserID") %>'></asp:Label>
</ItemTemplate>
<%-- <EditItemTemplate>
<asp:TextBox ID="txtuserid" runat="server" Text='<%# Eval("UserID") %>'></asp:TextBox>
</EditItemTemplate>--%>
</asp:TemplateField>
<%-- <asp:TemplateField HeaderText="Servis" ItemStyle-Width="150">
<ItemTemplate>
<asp:Label ID="lblservis" runat="server" Text='<%# Eval("AdminID") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtadminid" runat="server" Text='<%# Eval("AdminID") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>--%>
<asp:CommandField ButtonType="Link" ShowEditButton="true" ShowDeleteButton="true" ItemStyle-Width="150" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
答案 0 :(得分:0)
根据我的经验,混合GridView,UpdatePanel和Datatables绝不是一个好主意。更新后的GridView可能会触发Datatable脚本重绘。
您可以在更新后尝试触发table.page(2)
,但我建议您通过Ajax请求获取数据并更新表,并重新绘制或更新表的数据源。当然,你不会有开箱即用的编辑模板。