3

在这里尽量避免重复。我在不允许修改的基类控制器中有一个操作。我希望我的操作进行一些检查,调用基类操作,并在渲染之前以某种方式修改结果。但我需要做的部分事情是修改 的一些属性ViewModel,并且基类返回一个ActionResult. 我认为没有办法ViewModelActionResult. 我强烈不希望这样做。有什么建议么?

4

1 回答 1

9

那是因为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;
    }
于 2011-01-14T21:34:16.387 回答