1
我需要在每個ActionResult
中運行某個函數,並在必要時返回某個值。如何在每個ActionResult方法中運行一些代碼並在必要時返回結果?
假設這個函數的名字是A()
。我可以手動執行此操作:
ActionResult Index() {
if (...) return A();
...
}
ActionResult About() {
if (...) return A();
}
或者,我可以使用Initialize()
方法:
override void Initialize(RequestContext r) {
A(); // Can't do a return here
}
但問題是,由於它是無效我不能返回ActionResult
值。
有沒有辦法做到這一點?
感謝。看起來像我需要的東西。我該如何返回某個ActionResult(例如RedirectToAction())? – Alex 2011-12-23 03:27:33
您使用'filterContext.Result = new RedirectResult(url)'。看看[this](http://stackoverflow.com/a/5453371/291687)回答更多示例。 – Lester 2011-12-23 03:40:53
完美的作品!在控制器本身重寫此方法將允許自動修改此控制器的所有操作的上下文結果。 – Alex 2011-12-23 03:57:44