ここで繰り返しを避けようとしています。変更が許可されていない基本クラスのコントローラーにアクションがあります。アクションでいくつかのチェックを行い、基本クラスのアクションを呼び出し、レンダリングの前に何らかの方法で結果を変更したいと考えています。しかし、私がしなければならないことの一部には、 のいくつかのプロパティを変更することが含まれて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 に答える