asp.net-mvc – 如何使用MVC中的rout删除url中的控制器名称
发布时间:2020-12-15 23:58:20 所属栏目:asp.Net 来源:网络整理
导读:参见英文答案 ASP.NET MVC – Removing controller name from URL5个 如何从MVC 5中的URL中删除控制器名称.我尝试在route.config中添加路由 public class RouteConfig{ public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{r
参见英文答案 >
ASP.NET MVC – Removing controller name from URL5个
如何从MVC 5中的URL中删除控制器名称.我尝试在route.config中添加路由 public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapMvcAttributeRoutes(); routes.MapRoute( name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home",action = "Index",id = UrlParameter.Optional } ); routes.MapRoute( name: "Special",url: "action/{id}",action = "LandingIndex",id = UrlParameter.Optional } ); } } 当我尝试在http://localhost:24220/LandingIndex之前访问URL时,它将提示404错误. 解决方法
您可以尝试通过先放置更专业的路径来反转路径定义.此外,您可能不希望将操作名称硬编码为操作,而是使用{action}占位符:
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapMvcAttributeRoutes(); routes.MapRoute( name: "Special",url: "{action}",action = "LandingIndex" } ); routes.MapRoute( name: "Default",id = UrlParameter.Optional } ); } } 现在,当您导航到/ LandingIndex时,应调用Home控制器上的LanginIndex操作. 另请注意,我已从第一个路径中删除了可选的{id}占位符.原因是因为如果存在,路由引擎将永远不会使用第二条路由.例如,如果您尝试加载/ Home / Index,它将在Home控制器上查找Home操作并将其作为id传递给Index.如果您想拥有此{id}令牌,则需要使用约束来与第二个更通用的路由定义进行歧义.例如,如果您的标识符始终是整数或遵循某种模式,则可以编写与其匹配的正则表达式约束. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 不包括’00000’的5位数字的正则表达式
- asp.net – IE10中的LinkBut??tons不执行回发
- asp.net – 在.NET 4下编译时出现“具有相同密钥的条目已存
- asp.net-mvc-3 – 如何在WebGrid中隐藏列?
- asp.net-mvc – MVC 4中的ReportViewer部分
- 详解ASP.NET Core 在 JSON 文件中配置依赖注入
- 如何在ASP.NET应用程序中查询Word docx?
- asp.net-mvc – 字段必须是数字 如何将此消息更改为其他语言
- asp.net – ModelState.IsValid返回true,即使必需的字符串为
- asp.net-mvc-3 – 使用ViewData将字符串从Controller传递到
推荐文章
站长推荐
- wcf – ASP.NET MVC中的OpenId身份验证是一项宁静
- ResolveClientUrl在ASP.Net 4和3.5中的工作方式不
- asp.net MVC5,如何使用mysql数据库,使用MVC框架
- asp.net-mvc – ASP.NET MVC 3:RouteExistingFi
- asp.net – InvalidOperationException:没有数据
- ASP.NET OutputCache varyByParam在Web.config中
- asp.net-mvc – 如何在多个Asp.net MVC应用程序中
- asp.net core react 项目实战(一)
- asp.net – 针对测试数据库集成测试Web服务
- asp.net FileUpload.FileName返回完整路径,即ie,
热点阅读