Как я познакомился с Asp.Net MVC, я использую MVC 2, я заметил использование класса BaseViewData в проекте Kigg, который я не уверен, как воплощать в жизнь.Как использовать базовый ViewModel в Asp.net MVC 2
Я хочу, чтобы каждая из моих моделей ViewModels имела определенные значения. Использование итерации приходит на ум, но мне интересно, что такое лучшая практика и как это делает Kigg?
Kigg
public abstract class BaseViewData
{
public string SiteTitle { get; set; }
// ...other properties
}
public class UserListViewData : BaseViewData
{
public string Title { get; set; }
// .. other stuff
}
В моем приложении WebForms Я использую BasePage, который наследуется от System.Web.UI.Page.
Итак, в моем проекте MVC, у меня есть это:
public abstract class BaseViewModel
{
public int SiteId { get; set; }
}
public class UserViewModel : BaseViewModel
{
// Some arbitrary ViewModel
}
public abstract class BaseController : Controller
{
private IUserRepository _userRepository;
protected BaseController()
: this(
new UserRepository())
{
}
}
Реферирование методологии Kigg, как я могу убедиться, что каждый из моих ViewModel, который наследует от BaseViewModel обладают свойством SiteId?
Какова наилучшая практика, образцы или образцы, которые я должен использовать?
Вы должны отбрасывать контекст фильтра, чтобы использовать его как это: '((ViewResult) filterContext.Result) .ViewData.Model' – ajbeaven
Глядя на мой код, я на самом деле сохранить результат в локальной переменной кастинг в ViewResult с помощью 'as', затем проверьте значение null. – tvanfosson