首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

在ASP.net中如何调整顺序呀

2013-04-02 
在ASP.net中怎么调整顺序呀在ASP上有一表格,数据库有一整数字段Sort用来记录排序的前后,查询是通过sort

在ASP.net中怎么调整顺序呀
在ASP上有一表格,数据库有一整数字段"Sort"用来记录排序的前后,查询是通过"sort"排序,
在显示页面上点"向上",向下"可以调整顺序


<asp:GridView ID="gridView" runat="server" AllowPaging="True" 
        Width="100%" CellPadding="3"  OnPageIndexChanging ="gridView_PageIndexChanging"
                    BorderWidth="1px" DataKeyNames="id" OnRowDataBound="gridView_RowDataBound"
                    AutoGenerateColumns="False"  RowStyle-HorizontalAlign="Center" 
        OnRowCreated="gridView_OnRowCreated">
                    <Columns>
                    <asp:TemplateField ControlStyle-Width="30" HeaderText="选择"    >
                                <ItemTemplate>
                                    <asp:CheckBox ID="DeleteThis"  runat="server" onclick="javascript:CCA(this)" />
                                </ItemTemplate>

<ControlStyle Width="30px"></ControlStyle>
                            </asp:TemplateField> 
                            
<asp:BoundField DataField="Name" HeaderText="名称" SortExpression="Name" 
                            ItemStyle-HorizontalAlign="Center"  > 
<ItemStyle HorizontalAlign="Center"></ItemStyle>
                        </asp:BoundField>
                        <asp:TemplateField HeaderText="排序" SortExpression="Sort">
                            <ItemTemplate>
                                <a href="#" onclick="moveUp(this)"  >
                                    向上</a> 
                                     <a href="#" onclick="moveDown(this)" >


                                         向下</a>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Sort") %>'></asp:TextBox>
                            </EditItemTemplate>
                            <ItemStyle HorizontalAlign="Center" />
                        </asp:TemplateField>
                            
                            <asp:HyperLinkField HeaderText="详细" ControlStyle-Width="50" 
                            DataNavigateUrlFields="id" DataNavigateUrlFormatString="Show.aspx?id={0}"
                                Text="详细"  >
<ControlStyle Width="50px"></ControlStyle>
                        </asp:HyperLinkField>
                            <asp:HyperLinkField HeaderText="编辑" ControlStyle-Width="50" 
                            DataNavigateUrlFields="id" DataNavigateUrlFormatString="Modify.aspx?id={0}"
                                Text="编辑"  >
<ControlStyle Width="50px"></ControlStyle>
                        </asp:HyperLinkField>
                            <asp:TemplateField ControlStyle-Width="50" HeaderText="删除"   Visible="false"  >
                                <ItemTemplate>


                                    <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
                                         Text="删除"></asp:LinkButton>
                                </ItemTemplate>                                

<ControlStyle Width="50px"></ControlStyle>
                            </asp:TemplateField>
                        </Columns>

<RowStyle HorizontalAlign="Center"></RowStyle>
                </asp:GridView>


在页面上用的JAVASCRIPT做的调整顺序

function moveUp(obj) {
            var current = $(obj).parent().parent();
            var prev = current.prev();
            if (current.index() > 1) {
                current.insertBefore(prev);
                $("#<%=btnSave.ClientID %>").show();
                IsSave=true;
            }
        }
        function moveDown(obj) {
            var current = $(obj).parent().parent();
            var next = current.next();
            if (next) {
                current.insertAfter(next);
                $("#<%=btnSave.ClientID %>").show();
                IsSave=true;
            }
        }


问题是怎么样可以把调好的新顺序保存到数据库
[解决办法]
1.你的JS脚本只是在视觉上进行排序了,没有改变相应的值的变化
2.你需要写一个JS方法,不论你"向上"或者"向下"都调用这个方法 
方法:从上到下获取序号数组,将数组放入隐藏域里面,如果你想时时的更新,那这个方法里面需要加入ajax请求,如果用别一个按钮"更新",那在后台对这些数据进行处理。
------解决方案--------------------


想保存到数据库中,这没有必要吧。用ajax实现吧,调用不同的sort方式

热点排行
Bad Request.