2009-07-29 92 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或我离开基地?