я следующее:OnActionExecuting добавить к модели, прежде чем попасть к действию
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();
}
Теперь пошаговый, что я могу видеть, пользователь и схема на модели заселяются.
К тому времени, когда я добираюсь до действия, но оба они равны нулю?
Что я здесь делаю неправильно?
И добавив, что это правильный способ добавления в модель?
Вот код контроллера:
[InjectStandardReportInputModel]
public ActionResult Header(BaseViewModel model)
{
//by this point model.Scheme is null!!
}
Не могли бы вы опубликовать свой 'Controller' код? Вы уверены, что добавили 'атрибут' в определение класса или применимое' action'/s? – xandercoded
добавлен код действия - вы говорите, что это должно работать? ... – iwayneo
Та же проблема обсуждается здесь http://stackoverflow.com/questions/4766156/all-viewmodels-inherit-from-baseviewmodel-can-i-set -this-up-in-onactionexecut –