Возможно ли частичное представление наследовать более одной модели? У меня есть три модели (Контакты, Клиенты, Поставщики), которые имеют адресную информацию (Адрес). В интересах DRY я вытащил адресную информацию в свою собственную модель, Addresses. Я создал частичное представление для создания/обновления адресов и что это сделать в других трёх представлениях создания/обновления.ASP.NET MVC Generic Partial
ответ
Вместо использования комбинированной модели просмотра вы все еще можете быть СУХОЙ и иметь три вида (Контакты, Клиенты, Поставщики). Если вас беспокоит повторение себя при отображении информации о адресе, просто создайте шаблон отображения для этого типа. Таким образом, вы можете написать всю конкретную информацию для каждого контакта клиента и поставщика в своих собственных взглядах и просто падение:
<%= Html.DisplayFor(m => m.Address) %>
Теперь вы быть DRY, поддерживая при этом едином принципе ответственности.
Подробнее о шаблонах для отображения и редактирования можно посмотреть на Brad Wilson или Phil Haack сообщений на нем.
Как насчет создания новой модели, содержащей все три модели (Контакты, Клиенты, Поставщики). Затем передайте эту новую модель в частичную. Оттуда вы можете получить доступ ко всем трем моделям от вашей новой модели.
Я не думаю, что он должен отображать их все одновременно. Он создал представление, которое используется для рендеринга адреса, и теперь хочет сделать вызов, чтобы отобразить его из представлений «Контакты/Клиенты/Поставщики». – R0MANARMY
Вначале у меня было все три модели в одном, но их информация была достаточно уникальной, и было разумно их разделить. Я согласен с тем, что это было бы легче. – gnome
Я считаю, что единственный способ сделать это с помощью модели композиционный вид (что не обязательно плохо), так что-то вроде:
public class MyControllerActionViewModel
{
public IList<Contact> Contacts { get; set; }
public IList<Client> Clients { get; set; }
public IList<Vendor> Vendors { get; set; }
}
Мы используем этот подход много, чтобы получить больше элементов в представление, когда это необходимо, и я не вижу плохой практики использования этих моделей пользовательского вида, когда это необходимо.
Надеюсь, что это поможет!
- 1. asp.net mvc generic controller
- 2. ASP.NET MVC 4, Partial View
- 3. Partial ASP.NET MVC View submit
- 4. ASP.Net MVC jQuery Dialog Partial
- 5. GDI + Generic Ошибка ASP.NET MVC
- 6. ASP.NET MVC PartialView generic ModelView
- 7. asp.net MVC generic action handler
- 8. Asp.net MVC Partial View Form Отправить задачу
- 9. asp.net MVC partial view controller action
- 10. ASP.Net MVC Partial View Model Binding
- 11. Asp.Net MVC Partial View Update Issue
- 12. Asp.Net MVC, привязка динамически визуализируется Partial View
- 13. Зачем использовать ASP.NET MVC partial View (.ascx)
- 14. MSChart и ASP.NET MVC Partial View
- 15. AngularJS in ASP.NET MVC Partial View
- 16. ASP.NET MVC View/Partial с generics
- 17. ASP.NET MVC Partial View с другой моделью
- 18. jQuery $ (document) .ready и ASP.NET MVC Partial
- 19. ASP.NET MVC Partial Views + Ajax Load
- 20. ASP.NET MVC Generic Controller для базового объекта
- 21. ASP.NET MVC Generic Controllers и Spring.NET
- 22. ASP.NET MVC Generic Html и Url helpers
- 23. ASP.NET MVC 4 - Generic List - Просмотр - Ajax.ActionLink
- 24. MVC Generic Repository Filtering
- 25. .net mvc partial view
- 26. MVC Partial Page Refresh
- 27. Mvc Partial Login Страница
- 28. MVC antiforgerytoken partial View
- 29. MVC Partial Validation
- 30. MVC Partial Views issue
Не 'Html.DisplayFor()' функция ASP.NET MVC 2? – Nate
@Nate Bross Да, это так. –
Хороший ответ и ссылки. Обязательно прочитайте об этом! – gnome