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;
    }