asp.net – 在ASP MVC3中,如何使用uri执行控制器和动作?
发布时间:2020-05-23 20:39:16 所属栏目:asp.Net 来源:互联网
导读:在执行控制器操作时,我怎样才能获取Uri(不是请求的那个)并从控制器调用该操作,如果Uri是被调用的那个?我不能简单地重定向到该操作,因为我需要它在同一个请求上下文中发生. 假设您可以访问HttpContext(我想您在询问时就这样做了),您可以: var routeData = ne
|
在执行控制器操作时,我怎样才能获取Uri(不是请求的那个)并从控制器调用该操作,如果Uri是被调用的那个?我不能简单地重定向到该操作,因为我需要它在同一个请求上下文中发生. 解决方法假设您可以访问HttpContext(我想您在询问时就这样做了),您可以:var routeData = new RouteData(); // controller and action are compulsory routeData.Values["action"] = "index"; routeData.Values["controller"] = "foo"; // some additional route parameter routeData.Values["foo"] = "bar"; IController fooController = new FooController(); var rc = new RequestContext(new HttpContextWrapper(HttpContext),routeData); fooController.Execute(rc); 我个人使用这种方法来处理我的应用程序内的错误.我把它放在Application_Error中,并为停留在初始HTTP请求的上下文中的自定义错误页面执行错误控制器.您还可以在routeData哈希中放置复杂对象,然后将这些复杂对象作为操作参数返回.我使用它来传递错误控制器操作发生的实际异常. 更新: 为了解析其路线数据令牌的URL,考虑到当前路线,您可以: var request = new HttpRequest(null,"http://foo.com/Home/Index","id=1"); var response = new HttpResponse(new StringWriter()); var httpContext = new HttpContext(request,response); var routeData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(httpContext)); var values = routeData.Values; var action = values["action"]; var controller = values["controller"]; (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何使用文件上传控件选择多个文件?
- asp.net-mvc – 为什么在MVC中传递实体不是一个好主意?
- asp.net-mvc – ASP.NET MVC – IsPostBack还在吗?
- asp.net-core – .NET Core 1.0 – 如何使用xUnit命令行运行
- asp.net – MSBuild / WebDeploy – 如何防止它删除文件夹及
- 为ASP.NET/ASP.NET MVC配置IIS(Windows 7)3
- asp.net-mvc – ViewModels和渲染
- asp.net – Visual Studio“添加为链接”调试时不工作
- asp.net – 将自动Web测试集成到构建过程中
- 在IIS托管的asp.net Web应用程序中打开页面时“无法找到资源
推荐文章
站长推荐
- asp.net-mvc-3 – Telerik Kendo ui网格显示html
- asp.net – 通过IP地址在IIS 6中调节Bandands
- asp.net-mvc-4 – 高级WebGrid教程或解决方案
- asp.net – 如何使usercontrol可用于多个项目?
- asp.net-mvc – 可以在ASP.NET MVC中本地化URL /
- asp.net – Mono vhost配置错误:地址已经在使用
- ASP.NET页面验证
- asp.net-mvc – MVC DateTime验证失败
- 如何在ASP.NET Web应用程序中打开一个SectionGro
- asp.net-mvc-3 – 在ASP.NET MVC中使用@ data-bi
热点阅读
