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