Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 保存可排序数据_Asp.net_Juice Ui - Fatal编程技术网

Asp.net 保存可排序数据

Asp.net 保存可排序数据,asp.net,juice-ui,Asp.net,Juice Ui,我正在使用JQuery UI端口访问名为JuiceUI的ASP.NET Webforms 问题: 我有一个无序的列表ul和一些列表元素li。我还有,它在客户端工作得很好 现在,在对其排序之后,我可能希望将排序后的列表保存到数据库中。我在互联网上花了很长时间苦苦搜寻,结果一无所获 有没有办法将排序后的无序列表保存到表中?换句话说,我们可以将无序列表的序列“获取”到后端C代码中吗 以下是我到目前为止所拥有的: <ul id="_Default" runat="server" ClientID

我正在使用JQuery UI端口访问名为JuiceUI的ASP.NET Webforms

问题:

我有一个无序的列表
ul
和一些列表元素
li
。我还有
,它在客户端工作得很好

现在,在对其排序之后,我可能希望将排序后的列表保存到数据库中。我在互联网上花了很长时间苦苦搜寻,结果一无所获

有没有办法将排序后的无序列表保存到表中?换句话说,我们可以将无序列表的序列“获取”到后端C代码中吗

以下是我到目前为止所拥有的:

 <ul id="_Default" runat="server" ClientIDMode="Static" style="list-style-type:none;height:5%">
        <li class="ui-state-default" style="float:left; margin-left:10px"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item-1</li>
        <li class="ui-state-default" style="float:left; margin-left:10px"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item-2</li>
        <li class="ui-state-default" style="float:left; margin-left:10px"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item-3</li>
        <li class="ui-state-default" style="float:left; margin-left:10px"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item-4</li>
        <li class="ui-state-default" style="float:left; margin-left:10px"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item-5</li>
   </ul>
   <juice:sortable ID="Sortable1" TargetControlID="_Default" runat="server" 
        AutoPostBack="True" onreceive="Sortable1_Receive" onstop="Sortable1_Stop" 
        Tolerance="pointer"/>
    <asp:TextBox runat="server" ID="tbP" />
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Freeze" />
(我不再维护Juice UI,但在我的fork上,我一直在努力实现它。)

问题是要将哪些数据发送回服务器。您可以检查用于排序的目标控件是否绑定了数据,通过一些检查可以确定哪些字段是数据绑定的并将其发送回,但是如果它只是一个元素列表呢?我可以将代码限制在一个特定的数据源(文本、html、属性、数据绑定等)上,或者尝试覆盖所有可能的挑战——但这太麻烦了


我想听听你的建议。

为什么不使用类似于ASP.net AjaxControlToolkit中的ReorderList的模型呢?其中,元素的每个重新排序都可以触发回发,我们可以从那里捕获元素序列。它可以从
ul
元素返回序列
htmliteralcontrols
。因为最后它们是一群
li
s。这并不是实现该功能的一种优雅方式。仅仅因为它是在表演中,并不意味着它是一个好方法。juice ui和Brew背后的动机之一是其行为非常糟糕,但我离题了。
protected void Button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < _Default.Controls.Count; i++)
            {
                System.Web.UI.LiteralControl cntl = (System.Web.UI.LiteralControl)_Default.Controls[i];
                tbP.Text += cntl.Text + " ";
            }
        }