2009-04-23 7 views
0

J'ai une liste d'éléments de menu qui peuvent être triés. J'ai le genre de travail qui est basé sur ce link.ASP.NET MVC - jQuery Sortable

Cependant, je ne sais pas comment enregistrer l'ordre des éléments de menu dans la base de données? J'utilise nhibernate.

Afficher le code

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

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

Répondre

0

Je pense que vous avez besoin d'une <form> -tag, et soumettre ce formulaire vous votre contrôleur. Le contrôleur doit transmettre les données au modèle et le modèle fera en sorte que les données soient enregistrées dans la base de données.

+0

Merci. Ça marche maintenant. – Ros