2009-10-07 4 views
5

Je suis nouveau à MVC et je suis impliqué dans un projet qui est développé avec ASP.NET MVC 1.0. Je suis aussi faible en JavaScript :-(Vue maître-détail ASP.NET MVC

J'essaie de montrer comment la vue des détails du maître fonctionne sur les 'Commandes' & Les tables 'Détails de la commande' de la base de données Northwind (d'où: les tables ont une relation, ie , une commande peut avoir plusieurs détails de commande)

J'ai créé deux contrôles (1er pour Commandes, 2ème pour CommandesDétails) J'ai affiché toutes les commandes de la table Commandes dans une vue Liste.Une fois que je clique sur l'une des commandes moi la vue des détails de cet ordre.

ce que je veux faire (& échoué) est de créer une vue sous sous la vue détails de l'ordre qui est d'avoir tous les détails de la commande pour e à la commande.

Je souhaite également modifier le contenu de la sous-vue en fonction des sélections de la vue principale. Je lis beaucoup sur l'utilisation de AJAX & JSON changer dynamiquement mais je ne l'a pas trop: '(

Tout le monde peut aider à cela et me fournir la technique & code de la façon dont je peux le mettre en œuvre

+0

Cochez cette case (http://www.asp.net/Learn/mvc/tutorial-21-cs.aspx) – RailRhoad

Répondre

5
?

Vous pouvez le faire assez facilement avec MVC et jQuery

d'abord dans votre Orders\List.aspx vue:.

<script> 
    // once the page has loaded 
    $(function() { 
     // set up your click event to load data 
     $('.list-item').click(function() { 
      // ajax load the content returned by the detail action 
      $('#detail').load('<%= Url.Action("Detail") %>', { id: this.id }); 
     }); 
    }); 
</script> 

<style> .list-item { cursor: pointer; } </style> 

<% // loop through the orders in your model and show them 
// as each div has the class list-item it will be give the click event 
foreach(var order in Model) { %> 
    <div id="<%= order.Id %>" class="list-item"><%= order.Name %></div> 
<% } %> 

<%-- the panel that the ajaxed content will be loaded into --%> 
<div id="detail"></div> 

Ensuite, dans votre Orders\Detail.ascx vue partielle:

Id: <%= Model.Id %><br /> 
Name: <%= Model.Name %><br /> 
Description: <%= Model.Description %><br /> 
etc 
Questions connexes