2010-03-23 15 views
7

ASP.NET MVC 2 ha potenti funzionalità per generare il contenuto dipendente dal modello della vista Modifica (utilizzando EditorForModel) e Dettagli (utilizzando DisplayForModel) che utilizza automaticamente i metadati e Editor (o visualizzazione) modelli:ASP.NET MVC 2 generazione della vista Elenco/indice

<% using (Html.BeginForm()) {%> 
    <%= Html.ValidationSummary(true) %> 

    <fieldset> 
     <legend><%= Html.LabelForModel() %></legend> 

     <%= Html.EditorForModel() %> 

     <p> 
      <input type="submit" value="Save" /> 
     </p> 
    </fieldset> 

<% } %> 

Tuttavia, non riesco a trovare alcun attrezzo comparabili per l ' "ultima" fase di generazione della vista Index (aka la visualizzazione elenco). Ci devo codificare le colonne primi nella riga rappresentano le intestazioni e quindi all'interno del ciclo foreach:

<h2>Index</h2> 

<table> 
    <tr> 
     <th></th> 
     <th> 
      ID 
     </th> 
     <th> 
      Foo 
     </th> 
     <th> 
      Bar 
     </th> 
    </tr> 

<% foreach (var item in Model) { %> 

    <tr> 
     <td> 
      <%= Html.ActionLink("Edit", "Edit", new { id=item.ID }) %> | 
      <%= Html.ActionLink("Details", "Details", new { id=item.ID })%> | 
      <%= Html.ActionLink("Delete", "Delete", new { id=item.ID })%> 
     </td> 
     <td> 
      <%= Html.Encode(item.ID) %> 
     </td> 
     <td> 
      <%= Html.Encode(item.Foo) %> 
     </td> 
     <td> 
      <%= Html.Encode(String.Format("{0:g}", item.Bar)) %> 
     </td> 
    </tr> 

<% } %> 

</table> 

Quale sarebbe il modo migliore per generare le colonne (utlizing metadati quali HiddenInput), con la scopo di rendere l'indice privo di dettagli del modello come Modifica e Dettagli?

risposta

1

penso che Phil Haack sta facendo più o meno quello che stai cercando ...

ASP.NET modelli MVC2 caratteristica è una bella bel modo per gli oggetti in modo rapido ponteggi in fase di esecuzione. Assicurati di leggere le fantastiche serie di Brad Wilson su questo argomento a partire da ASP.NET MVC 2 Templates, Parte 1: Introduzione.

Per quanto eccezionale sia, c'è un modello che manca in modo evidente. ASP.NET MVC non include un modello per la visualizzazione di un elenco di oggetti in un formato tabulare.

Controllare il link per maggiori ...

+1

Sono sicuro che sia un errore di battitura, ma è "Phil Haack" –

+0

@Vivek Sì, era ... –

0

Dai uno sguardo a Phil Haack's code based repeater. Penso che ciò possa portare a compimento quello che stai cercando.

+0

Per quanto mi pare di capire che ha ancora l'obbligo di elencare esplicitamente tutte le colonne. Speravo di evitarlo del tutto, come EditorForModel o DisplayForModel. –