C# 我可以从ActionResult检索ViewModel吗?
在这里尽量避免重复。我在基类控制器中有一个不允许修改的操作。我希望我的操作执行一些检查,调用基类操作,并在渲染之前以某种方式修改结果。但是我需要做的部分工作包括修改C# 我可以从ActionResult检索ViewModel吗?,c#,asp.net-mvc,viewmodel,actionresult,C#,Asp.net Mvc,Viewmodel,Actionresult,在这里尽量避免重复。我在基类控制器中有一个不允许修改的操作。我希望我的操作执行一些检查,调用基类操作,并在渲染之前以某种方式修改结果。但是我需要做的部分工作包括修改ViewModel的一些属性,基类返回一个ActionResult。我看不到从ActionResult获取ViewModel的方法,因此我可能不得不编写一个自定义方法,其中大多数方法只是模仿基类正在做的事情。我强烈希望不要这样做。有什么建议吗?那是因为ActionResult是一个相当高级的基类。尝试将其强制转换为适当的子类型,例如V
ViewModel
的一些属性,基类返回一个ActionResult
。我看不到从ActionResult
获取ViewModel
的方法,因此我可能不得不编写一个自定义方法,其中大多数方法只是模仿基类正在做的事情。我强烈希望不要这样做。有什么建议吗?那是因为ActionResult
是一个相当高级的基类。尝试将其强制转换为适当的子类型,例如ViewResult
快速示例代码:
public ActionResult WrapperAction()
{
// do your initial stuff
// call your base controller action and cast the result
// it would be safer to test for various result types and handle accordingly
ViewResult result = (ViewResult)base.SomeAction();
object model = result.ViewData.Model;
// do something with the model
return result;
}