asp.net-mvc – 摆脱仅在ASP.NET MVC中返回视图的控制器GET动作
发布时间:2020-12-16 09:40:57 所属栏目:asp.Net 来源:网络整理
导读:项目控制器中的大多数操作只返回相应的视图: public ActionResult Index(){ return View();} 我想知道有没有办法摆脱这样的GET动作并直接映射url来查看? 例如:’/ home / index’呈现视图’?/ Views / Home / Index.cshtml’ Chaim Brykman(@ haim770)建
项目控制器中的大多数操作只返回相应的视图:
public ActionResult Index() { return View(); } 我想知道有没有办法摆脱这样的GET动作并直接映射url来查看? Chaim Brykman(@ haim770)建议的解决方案示例代码:https://github.com/artplastika/ViewWithoutControllerDemo 解决方法
在某些Controller中创建ViewRenderer操作:
public ViewResult ViewRenderer(string viewPath) { var extractedPath = viewPath.Split('/'); this.ControllerContext.RouteData.Values["controller"] = extractedPath[0]; this.ControllerContext.RouteData.Values["action"] = extractedPath[1]; return View(); } 然后,在RoutesConfig中,在默认(最后)路由之前添加以下路由,并相应地更改Controller名称: // Views Renderer routes.MapRoute( name: "ViewsRenderer",url: "Static/{*viewPath}",defaults: new { controller = "Common",action = "ViewRenderer" } ); URL将是: http://your_host_name/Static/Home/Index (您可以将’静态’更改为您喜欢的任何内容) 这是一个非常基本的实现,它不考虑区域(虽然可以轻松调整).它也不处理此更改可能引入的所有安全隐患(取决于应用程序的性质). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 无法在HttpStatusCodeResult中指定Status
- asp-classic – 对经典asp中的asp页面进行更改是否需要iisr
- ASP.NET图表在数字旁边添加百分比
- 如何打印与phpinfo()但ASP.NET类似的信息?
- asp.net – 通过Web界面查看事件日志
- Asp.Net MVC5代码的筛选器(ActionFilter)执行递归链表分析
- asp.net – 从AD成员资格提供程序运行时切换到SQL成员资格提
- 最小化Azure存储出站数据成本的策略
- asp.net – 如何传递datetime参数?
- .NET Core和Classic ASP在同一解决方案中?
推荐文章
站长推荐
- asp.net – CookieAuthenticationOptions.Authen
- asp.net-mvc – IE 11 SignalR不工作
- asp.net – 为特定页面指定MaxHttpCollectionKey
- asp.net-mvc-2 – 什么是MapRoute名称空间参数?
- asp.net-mvc – 如何持久保存用户选择(例如:主题
- 如何组合WebResource.axd和ScriptResource.axd文
- asp.net-mvc – 如何在WEB API 2中创建异步验证属
- 使用ASP.NET,JQuery和Suckerfish构建数据库驱动的
- asp.net-mvc-4 – 从数据库上传模型时丢失dataAn
- asp.net – 当使用AngularJS,WebAPI 2和Oauth 2时
热点阅读