If all my actions have a model that inherits from BaseViewModel, is it possible to initialize this model from the OnActionExecuting method?
Currently in all my actions I do this:
var model = new SomeModel();
model.User = Users.Get(…);
Now I am loading the user object in OnActionExecuting, so I was hoping I could setup my model from there somehow.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
You can’t do it in OnActionExecuting, since at that point you don’t know which subclass of BaseViewModel to use. However, you can update the model in OnActionExecuted, which runs after the action method but before the view is rendered.
Most likely you are populating these properties to use in the view only, but if you do need access to them in the action method you can put them into ViewBag or a controller property in OnActionExecuting and add them to the model in OnActionExecuted
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0