2013-05-07 71 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