1
我有一個項目列表,我希望用戶使用jquery sortable進行排序。 該項目的結構是這樣的:Mvc4堅持jQuery排序列表項的順序到控制器
public class SortableItems
{
public int Code { get; set; }
public byte? Priority { get; set; }
public string Name { get; set; }
public int IsActive { get; set; }
}
在我看來
我呈現排序以下列方式表單中:
@using (Html.BeginForm("TestAction", "TestController", FormMethod.Post, new { id = "submitTest" }))
{
<ul id="sortable" style="padding:0px;">
@for (int i = 0; i < Model.List.Count(); i++)
{
<li class="ui-state-default">
@Html.HiddenFor(x => Model.List[i].Code, new { @class = "id" })
@Html.HiddenFor(x => Model.List[i].Priority, new { @class = "order" })
<span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
@Model.List[i].Name
</li>
}
</ul>
<input type="submit" class="btn btn-primary" value="Update" />
}
現在,用戶可以在列表中的N個項目排序以他們的內心慾望。但我還沒有找到一種方法來更新優先級的隱藏值(用戶排序項目的順序)
如何將項目的順序持久保存到我的控制器?
有沒有這樣的事情上堅持控制器的數據。你的意思是保存一些持久性存儲的價值,如RDBMS? –
@emrenevayeshirazi是的,我只需要獲取項目的順序到控制器,從那裏我可以很容易地將所有內容保存到數據庫。 – mmilan
您需要通過ajax更新來完成此操作,因爲數據是動態的,不再與請求時在表單上顯示的訂單有關係。我以前成功完成了這個任務,但現在正在運輸。我會更新一個答案,在未來一小時左右的時間內爲您提供幫助。對不起,沒有這個例子,但你可能會發現臨時的方法 –