У меня есть главная страница, которая зависит от конкретной модели, поступающей с моих страниц. Таким образом, окончание код в основном каждый ViewResult заканчивается что-то вроде этогоповторное использование избыточный вид код модели mvc
public ActionResult Details(long store_id)
{
var store = getStore();
var model = new ClientModel<StoreModel>(store)
{
UserNotifications = new UserNotificationModel(this.CurrentUser)
};
return View(model);
}
Каждый из моих контроллеров производный от BaseController, поэтому я искал поставить этот избыточный код, но я не совсем уверен, лучший подход.
Структура моего родового ClientModel это ...
public class ClientModel<T> : ClientModel {}
public class ClientModel {}
Разъяснение StoreModel является общим и много других действий, использовать другую модель представления. Я просто хотел показать, как он выглядит, когда он был взломан.
Используйте наследование с осторожностью здесь. Вы можете нарисовать себя в угол. :) – bzlm
Наследование необходимо для динамической страницы MasterPage/Content. Мои мастер-страницы зависят от ClientModel, и мои страницы просмотра могут принимать необязательные параметры PageModel,. Решение работает хорошо. –