2010-07-08 48 views
0

我想创建将切换请求数据的过滤器。更确切地说,我想改变过滤器中的请求类型(它必须是POST),将一些值添加到post的Data中,添加返回url,并将其重定向到仅接受POST的Controller操作...然后在此操作中我想返回到第一个网址。更改或切换请求数据

我发现像...

Response.Redirect with POST instead of Get?

,但我敢肯定,我不完全了解他的想法,不知道是不是在过滤器非常有用。

回答

0

我还没有找到如何更改请求数据......但有用的是

var controller = new MyController(); 
controller.ControllerContext = filterContext.Controller.ControllerContext; 
controller.<action>(<parameters>); // it's action which accepts only POST, but here it doesn't matter 
base.OnActionExecuting(filterContext); 

有没有更好的办法从当前上下文传递上下文或mayby ...调用控制器?而不是创建新的控制器并调用他的操作?