2009-04-23 20 views
0

ソート可能なメニュー項目のリストがあります。私はこのlinkに基づいて動作する並べ替えを持っています。ASP.NET MVC - jQuery Sortable

ただし、メニュー項目の順序をデータベースに保存する方法がわかりません。私はnhibernateを使用しています。

コードの表示

<h3>Sort Main Menus</h3> 
<% using(Html.BeginForm()) { %> 
    <p>You can drag the items into a different order</p> 
    <p></p> 
    <div id="items"> 
     <% foreach (var mainMenusList in ViewData.Model) 
      {%> 
      <%Html.RenderPartial("MainMenuEditor", mainMenusList, new ViewDataDictionary(ViewData) { { "mainMenuName", "mainMenu" } });%>  
      <%} 
     %> 
    </div> 
    <input type="submit" value="Save changes" /> 
<% } %> 

<script type="text/javascript"> 
    $(function() 
    { 
     $("#items").sortable({ axis: "y" }); 
    }); 
</script> 

MainMenuEditorコード

<div> 
<input type="hidden" name="<%= ViewData["mainMenuName"] + ".index" %>" value="<%= ViewData.Model.Id %>" /> 
<% var fieldPrefix = string.Format("{0}[{1}].", ViewData["mainMenuName"], ViewData.Model.Id); %> 
<%= Html.Hidden(fieldPrefix + "MainMenuID", ViewData.Model.Id) %> 
<%= Html.TextBox(fieldPrefix + "Name", ViewData.Model.MainMenuName, new { size = "30"})%></div> 

答えて

0

私はあなたが<form> -tagが必要だと思うし、あなたのコントローラーそのフォームを送信します。コントローラはデータをモデルに渡す必要があり、モデルはデータがデータベースに保存されるようにします。

+0

ありがとうございました。それは今働いている。 – Ros