点击编辑时的DataTables插件

时间:2016-06-20 15:57:54

标签: jquery asp.net datatables

我有疑问。我正在使用带有更新面板的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>

enter image description here

1 个答案:

答案 0 :(得分:0)

根据我的经验,混合GridView,UpdatePanel和Datatables绝不是一个好主意。更新后的GridView可能会触发Datatable脚本重绘。

您可以在更新后尝试触发table.page(2),但我建议您通过Ajax请求获取数据并更新表,并重新绘制或更新表的数据源。当然,你不会有开箱即用的编辑模板。