2009-04-23 17 views
0

Ich habe eine Liste von Menüelementen, die sortiert werden können. Ich habe die Sortierfunktion, die auf dieser link basiert.ASP.NET MVC - jQuery Sortierbar

Allerdings bin ich mir nicht sicher, wie Sie die Reihenfolge der Menüpunkte in der Datenbank speichern? Ich benutze Nhibernate.

Code anzeigen

<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-Code

<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> 

Antwort

0

Ich glaube, Sie brauchen eine <form> -tag, und senden Sie dieses Formular Sie Ihren Controller. Der Controller muss die Daten an das Modell übergeben, und das Modell sorgt dafür, dass die Daten in der Datenbank gespeichert werden.

+0

Danke. Das funktioniert jetzt. – Ros