2009-10-07 33 views
5

Soy nuevo en MVC y estoy involucrado en un proyecto que se desarrolla con ASP.NET MVC 1.0. También soy débil en JavaScript :-(Vista de detalles maestros ASP.NET MVC

Estoy tratando de demostrar cómo funciona la vista Master-Details en 'Orders' & tablas 'Order Details' de la base de datos Northwind. (Por lo tanto: las tablas tienen una relación, es decir , una orden puede tener varios detalles de la orden)

Creé dos controles (primero para pedidos, segundo para detalles de pedido). Mostré todos los pedidos de la tabla Pedidos en una vista de lista. Una vez que hago clic en uno de los pedidos, toma a la vista de Detalles de ese orden.

Lo que quiero hacer (& falló) es crear una sub-vista debajo de la vista de Detalles de la orden que está teniendo todos los detalles del por encargo

También quiero cambiar el contenido de la vista secundaria según las selecciones de la vista maestra. He leído mucho sobre el uso de AJAX & JSON para cambiar dinámicamente eso, pero no pude hacerlo también: '(

Cualquiera puede ayudar en eso y me dan el código técnica & de cómo puedo ponerlo en práctica

+0

Compruebe [this] (http://www.asp.net/Learn/mvc/tutorial-21-cs.aspx) fuera – RailRhoad

Respuesta

5
?

Usted puede hacer esto con bastante facilidad con MVC y jQuery

en primer lugar, en su opinión Orders\List.aspx:.

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

Luego, en su Orders\Detail.ascx vista parcial:

Id: <%= Model.Id %><br /> 
Name: <%= Model.Name %><br /> 
Description: <%= Model.Description %><br /> 
etc 
Cuestiones relacionadas