2013-05-07 72 views
0

我正在使用JQuery UI端口到ASP.NET Webforms,名为JuiceUI。Juice UI保存可排序的数据

问题:

我有一个无序列表ul和几个列表元素li。我也有<juice:sortable>在客户端工作得很好。

现在,排序后,我可能想将排序后的列表保存到数据库中。我在互联网上搜索得很久很久以至于无法做到这一点。

是否有任何方式将排序的无序列表保存到表中?换句话说,我们可以将无序列表的序列“获取”到后端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" /> 

而且Button1_Click事件代码:

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 + " "; 
      } 
     } 

回答

0

(我不再保持果汁用户界面,但我已经在这个实现我的挣扎叉,Brew

你有问题是其中数据发送回服务器。您可以检查排序的目标控件是否绑定了数据,并且通过一些检查可以确定哪些字段是数据绑定并将其发回,但如果它只是元素列表呢?我可以将代码限制在特定的数据源(文本,html,属性,数据绑定等)或尝试覆盖整个可能性的范围 - 但这会变得混乱。

我很乐意提供建议。

+0

为什么不是一个与来自ASP.net AjaxControlToolkit的ReorderList类似的模型?其中,元素的每个重新排序都可以触发回发,并且可以从那里捕获元素序列。 – 2013-05-08 12:50:11

+0

它可以从'ul'元素发回序列'HtmlLiteralControls'。因为最后他们是一堆“李”。 – 2013-05-08 12:51:27

+0

这并不是真正实现该功能的优雅方式。仅仅因为它在ACT中并不是一个好方法。果汁ui和Brew背后的动机之一是,ACT非常糟糕,但我离题了。 – shellscape 2013-05-10 19:43:30