2011-01-28 12 views

Odpowiedz

18

Zakładając, że mamy zbiór klientów w widoku modelu

public class MyViewModel 
{ 
    public IEnumerable<Customer> Customers { get; set; } 
} 

można użyć następujących w widoku:

@Html.DisplayFor(x => x.Customers) 

a następnie w szablonie redaktor/wyświetlacz (~/Views/Home/DisplayTemplates/Customer.cshtml lub ~/Views/Shared/DisplayTemplates/Customer.cshtml):

@model AppName.Model.Customer 
<div>@Model.Name</div> 

Klient częściowy wil Następnie wyświetla się dla każdego elementu kolekcji klientów Twojego głównego modelu. Ważną rzeczą jest konwencja nazewnictwa: część powinna znajdować się w podfolderze DisplayTemplates i być nazywana taką samą, jak typ kolekcji (Customer).

+0

Czy istnieje sposób na podanie nazwy szablonu do czegoś innego? Model klienta jest taki sam, ale jeśli chcesz pokazać go w innym szablonie? to nie działa jak DisplayFor (x => x. Klienci, "CustomerGridView")? – akd

+0

@akdurmus użyj tego: http://stackoverflow.com/a/30147292/329367 – Darren

3

Co powiedzie się na śledzenie Haack'a pod numerem tutorial?

Jako wielka, jak ta funkcja nie jest jeden szablon to demonstracyjnie brakuje. Środowisko ASP.NET MVC nie zawiera szablonu do wyświetlania listy obiektów w postaci tabelarycznej.

Wcześniej dziś ScottGu przekazywane e-mail z Daniel Manes (co ?! bez bloga;) z pytanie, w jaki sposób tego dokonać. Daniel miał wiele z nich zaimplementowanych, ale próbował przejść przez ostatnią przeszkodę . Z pomocą Brada, mogłem dać mu impuls do pokonania tej przeszkody. Przejdźmy przez scenariusz.

Powiązane problemy