asp.net-mvc – 在MVC 3 RC中实现TransferResult – 不起作用
发布时间:2020-12-16 07:44:00 所属栏目:asp.Net 来源:网络整理
导读:任何想法如何解决以下问题? TransferResult有一个很好的实现here,它在MVC 1,2上运行得很好但不适用于MVC 3 RC. public class TransferResult : RedirectResult { public TransferResult(string url): base(url) { } public override void ExecuteResult(Con
任何想法如何解决以下问题?
TransferResult有一个很好的实现here,它在MVC 1,2上运行得很好但不适用于MVC 3 RC. public class TransferResult : RedirectResult { public TransferResult(string url): base(url) { } public override void ExecuteResult(ControllerContext context) { var httpContext = HttpContext.Current; httpContext.RewritePath(Url,false); IHttpHandler httpHandler = new MvcHttpHandler(); httpHandler.ProcessRequest(HttpContext.Current); } } 在MVC 3 RC上,httpHandler.ProcessRequest失败并且只能在引发’HttpApplication.AcquireRequestState’事件之前调用’HttpContext.SetSessionStateBehavior’. 如何重写此代码以使其工作? UPD:如果在VS 2010内置开发服务器上运行,代码可以工作,但无法在IIS 7.5 localhost上运行.问题仍未解决. UPD2 TransferMesult的answer contains a modified implementation与MVC3一起使用.事实证明它比过去更简单. 解决方法
无法重现.以下在MVC 3 RC(Razor和WebForms)中完美无缺:
public class TransferResult : RedirectResult { public TransferResult(string url) : base(url) { } public override void ExecuteResult(ControllerContext context) { var httpContext = HttpContext.Current; httpContext.RewritePath(Url,false); IHttpHandler httpHandler = new MvcHttpHandler(); httpHandler.ProcessRequest(HttpContext.Current); } } public class HomeController : Controller { public ActionResult Index() { return new TransferResult("/Home/About"); } public ActionResult About() { return View(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何在StackedBar中值为零时隐藏数据点标签
- .Net Core技术研究-WebApi迁移ASP.NET Core2.0
- asp.net-mvc – MVC4 Web API或MVC3 JsonResult
- asp.net – 如果我没有为action方法指定[httpGet]或[httpPo
- asp.net – 自定义编辑删除选择GridView中的链接
- Asp.net SignalR 让实时通讯变得如此简单
- asp.net-mvc-3 – Microsoft AntiXSS替代
- asp.net-mvc – Umbraco 4.11.3 – 控制器类型的当前请求不
- ASP.Net从CodeBehind打开浏览器中的新标签页
- asp.net-mvc – 带问号的MVC路由段?
推荐文章
站长推荐
热点阅读