2013-08-21 5 views
1

Я прав, говоря, что в MVC, если у меня есть модель лица, позволяет сказать клиентов, и я используюMVC Displayfor Template Selection

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

он будет искать шаблон отображения, «Named» Клиенту отобразить объект?

И, действительно ли MVC автоматически выполняет итерацию, если объект, которому вы передаете шаблон, является IEnumerable или какой-либо коллекцией? Например.

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

Так что, если я хотел, чтобы создать дополнительное представление для Клиента и заставить помощник, чтобы использовать его, скажем, например,

@Html.DisplayFor(x => x.AllCustomers, "MyCustomTemplate") 

то, что шаблон должен быть строго типизированным видом типа IEnumerable верный? И я должен сам создать итерационный код?

Кажется, что MVC выполняет бит итерации, если распознает, что модельная модель соответствует типу модели представления.

ответ

1

он будет искать шаблон отображения, который является «именованным» клиентом для отображения объекта?

Да. И он будет использовать шаблон отображения по умолчанию для object, если он не найдет.

И выполняет ли MVC итерацию, если объект, которому вы передаете шаблон, является IEnumerable или какой-либо коллекцией?

Каркас использует встроенный шаблон для IEnumerable<T>, где он выполняет итерации, поэтому технически да.

то этот шаблон должен быть строго типизированным видом типа IEnumerable правильно?

Исправить.

И мне нужно было бы создать код итерации самостоятельно?

Вы правы. После того, как вы укажете имя настраиваемого имени шаблона, инфраструктура будет использовать ваш шаблон вместо стандартного, поэтому он должен быть типом IEnumerable<T>.

+0

спасибо, оцените. – Jacques

Смежные вопросы