asp.net gridview和jquery可排序

时间:2013-10-17 09:21:03

标签: jquery asp.net jquery-ui-sortable

我正在尝试对gridview的行进行排序。排序部分正在工作,但排序后我的editindex保留在前一个id上,所以当我编辑错误数据时,

我的gridview看起来像这样:

<asp:GridView OnRowDataBound="grdLots_RowDataBound" ID="grdLots" runat="server" AutoGenerateColumns="False" CssClass="grid"
                    AlternatingRowStyle-CssClass="gridAltRow" RowStyle-CssClass="gridRow" EditRowStyle-CssClass="gridEditRow" FooterStyle-CssClass="gridFooterRow"
                    OnRowEditing="grdLots_RowEditing" EmptyDataText="Geen resultaten gevonden" OnRowDeleting="grdLots_RowDeleting" DataKeyNames="Lot_No">
                    <Columns>
                        <asp:TemplateField HeaderText="Edit" ShowHeader="False" HeaderStyle-HorizontalAlign="Left">
                            <ItemTemplate>
                                <asp:LinkButton ID="lnkEditLot" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit"></asp:LinkButton>
                            </ItemTemplate>
                            <EditItemTemplate>
                                &gt;&gt;&gt;
                            </EditItemTemplate>
                            <HeaderStyle HorizontalAlign="Left" />
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="Delete" ShowHeader="False" HeaderStyle-HorizontalAlign="Left">
                            <ItemTemplate>
                                <asp:LinkButton ID="lnkDeleteLot" runat="server" CausesValidation="False" CommandName="Delete" Text="Delete"></asp:LinkButton>
                            </ItemTemplate>
                            <HeaderStyle HorizontalAlign="Left" />
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>

我的js看起来像这样:

<script type="text/javascript">
    (function ($) {
        $(document).ready(function () {
            // Return a helper with preserved width of cells
            var fixHelper = function (e, ui) {
                ui.children().each(function () {
                    $(this).width($(this).width());
                });
                return ui;
            };

            var $sortableTable = jQuery('#<%= grdLots.ClientID %> tbody');

            $sortableTable.sortable({
                helper: fixHelper,
                update: function (event, ui) {
                    var order = $sortableTable.sortable('toArray');
                    $.post('/DesktopModules/DNN.WebAPI/API/Ajax/SortLots?rows=' + order);
                }
            });
        });
    })(jQuery);
</script>

数据已正确保存在数据库中,但是当我想在排序后编辑我的gridview中的行时,会获取先前的ID。 我尝试通过使用jQuery加载函数加载我的屏幕的一部分来解决它,但这也不起作用。

0 个答案:

没有答案