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 + " ";
}
}
爲什麼不是一個與來自ASP.net AjaxControlToolkit的ReorderList類似的模型?其中,元素的每個重新排序都可以觸發回發,並且可以從那裏捕獲元素序列。 – 2013-05-08 12:50:11
它可以從'ul'元素髮回序列'HtmlLiteralControls'。因爲最後他們是一堆「李」。 – 2013-05-08 12:51:27
這並不是真正實現該功能的優雅方式。僅僅因爲它在ACT中並不是一個好方法。果汁ui和Brew背後的動機之一是,ACT非常糟糕,但我離題了。 – shellscape 2013-05-10 19:43:30