Ho il seguente:OnActionExecuting aggiungere a modello prima di arrivare all'azione
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
if (filterContext == null)
{
throw new ArgumentNullException("filterContext");
}
var model = filterContext.Controller.ViewData.Model as BaseViewModel;
if (model == null)
{
model = new BaseViewModel();
filterContext.Controller.ViewData.Model = model;
}
model.User = (UserPrincipal)filterContext.HttpContext.User;
model.Scheme = GetScheme();
}
Ora passando attraverso che posso vedere l'utente e lo schema del modello vengono popolati.
Quando arrivo all'azione, tuttavia, sono entrambi nulli?
Cosa sto facendo di sbagliato qui?
E aggiungendo a questo, è questo il modo corretto di aggiungere al modello?
Ecco il codice del controller:
[InjectStandardReportInputModel]
public ActionResult Header(BaseViewModel model)
{
//by this point model.Scheme is null!!
}
potrebbe anche pubblicare il tuo codice di 'Controller'? Sei sicuro di aver aggiunto l'attributo 'alla definizione' class' o all'appropriato 'action'/s? – xandercoded
aggiunto codice azione - stai dicendo che dovrebbe funzionare? ... – iwayneo
Lo stesso problema è discusso qui http://stackoverflow.com/questions/4766156/all-viewmodels-inherit-from-baseviewmodel-can-i-set -questo-up-in-onactionexecut –