Mentre familiarizzo con Asp.Net MVC, sto usando MVC 2, ho notato l'uso di una classe BaseViewData nel progetto Kigg che non so come strumento.Come utilizzare un Base ViewModel in Asp.net MVC 2
Voglio che ciascuno dei miei ViewModels abbia determinati valori disponibili. Mi viene in mente l'uso di una trama, ma mi chiedo quale sia la migliore pratica e come fa Kigg a farlo?
Kigg
public abstract class BaseViewData
{
public string SiteTitle { get; set; }
// ...other properties
}
public class UserListViewData : BaseViewData
{
public string Title { get; set; }
// .. other stuff
}
Nella mia domanda WebForms Io uso un BasePage che eredita da System.Web.UI.Page.
Così, nel mio progetto MVC, ho questo:
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())
{
}
}
Riferimento metodologia Kigg, come faccio a fare in modo che ogni mio ViewModel che eredita dalla BaseViewModel hanno la proprietà SiteID?
Qual è la migliore pratica, campioni o modelli che dovrei usare?
Dovrete lanciare contesto filtro da utilizzare in questo modo: '((ViewResult) filterContext.Result) .ViewData.Model' – ajbeaven
Guardando il mio codice, io in realtà salvare il risultato in una variabile locale lanciare su ViewResult usando 'as', quindi verificare null. – tvanfosson