2009-07-29 183 views
0

**** ****修訂ASP.NET MVC路由與InvokeActionMethod

我有一個自定義ContentActionInvoker有一些瘋狂的邏輯在裏面。

我想在某些情況下在不同的控制器和不同的參數中調用不同的操作。

這怎麼辦?

class ContentActionInvoker : ControllerActionInvoker 
{ 
     protected override ActionResult InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary<string, object> parameters) 
     { 
      .... 
     } 
} 

回答

1

爲什麼您需要通過網絡服務器(強制瀏覽器往返)重定向用戶的體驗才能訪問與從MvcHandler收到請求的代碼在同一AppDomain中運行的另一個類?

如果您希望在另一個方法中使用不同的參數處理數據,只需實例化其他類(或控制器,它只是另一個類...)並返回由THOSE方法生成的ActionResult,或重新格式化您自己的ActionResult爲請求的視圖。

0

難道你不想使用RedirectToAction("MyAction")

+0

當,錯過不到一分鐘。 :) – griegs 2009-07-29 09:07:27

+0

而且我也在工作,正忙着回答有關SO的問題;) – Kezzer 2009-07-29 09:09:00

0

你有沒有試過RedirectToAction或我離開基地?