asp.net-mvc – 在ASP.Net中路由保留字
发布时间:2020-12-16 00:10:04 所属栏目:asp.Net 来源:网络整理
导读:我有一个遗留URL,我希望映射到我的ASP.Net MVC应用程序中的路由 e.g. http://my.domain.com/article/?action=detailitem=22 现在在路线创建动作中有一个特殊含义所以我创建这条路线?控制器是RedirectController,操作是Item. routes.MapRoute( name: "Redire
我有一个遗留URL,我希望映射到我的ASP.Net MVC应用程序中的路由
e.g. http://my.domain.com/article/?action=detail&item=22 现在在路线创建动作中有一个特殊含义所以我创建这条路线?控制器是RedirectController,操作是Item. routes.MapRoute( name: "Redirect",url: "article",defaults:new { controller = "redirect",action = "item"} ); 所以我的问题是查询字符串中的操作被默认值中的操作覆盖.有办法解决这个问题吗? 解决方法
控制器,动作和区域是asp.net MVC中唯一的保留字. “保留”意味着MVC赋予它们特殊的含义,特别是对于路由.
还有其他单词(COM1-9,LPT1-9,AUX,PRT,NUL,CON),不是特定于asp.net,而不是在url中.这解释了为什么here以及如何绕过here. 编辑: 以下是从UrlHelper获取的反编译示例: // System.Web.Mvc.RouteValuesHelpers public static RouteValueDictionary MergeRouteValues(string actionName,string controllerName,RouteValueDictionary implicitRouteValues,RouteValueDictionary routeValues,bool includeImplicitMvcValues) { RouteValueDictionary routeValueDictionary = new RouteValueDictionary(); if (includeImplicitMvcValues) { object value; if (implicitRouteValues != null && implicitRouteValues.TryGetValue("action",out value)) { routeValueDictionary["action"] = value; } if (implicitRouteValues != null && implicitRouteValues.TryGetValue("controller",out value)) { routeValueDictionary["controller"] = value; } } if (routeValues != null) { foreach (KeyValuePair<string,object> current in RouteValuesHelpers.GetRouteValues(routeValues)) { routeValueDictionary[current.Key] = current.Value; } } if (actionName != null) { routeValueDictionary["action"] = actionName; } if (controllerName != null) { routeValueDictionary["controller"] = controllerName; } return routeValueDictionary; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-membership – 成员资格超时和会话超时
- asp.net – 敏捷,Scrum和CMMI TFS流程模板之间有什么区别
- ASP.NET:更好地在资源或数据库中存储可本地化的UI文本?
- 如何在ASP.NET核心rc2中禁用浏览器缓存?
- asp.net-mvc – 如何从编辑器模板添加JavaScript或css引用
- asp.net-mvc – ASP.NET MVC 4中没有使用SignalR的服务器到
- asp.net-mvc – NET 3.5 – MVC PetShop应用程序?
- 什么用作asp.net会员后端? RavenDB或SqlServer
- 深蓝词库转换1.8发布
- asp.net – jQuery / ASP MVC – “$.ajax”调用中的parser
推荐文章
站长推荐
- asp.net – 为什么HttpContext.Response.Cookies
- ASP.NET Core中的OWASP Top 10 十大风险-失效的访
- .net – 强制从/ bin加载汇编,而不是GAC?
- asp.net-mvc-3 – 将WebForms中的MVC3与大型现有
- 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代
- asp.net-web-api – 在没有Identity的情况下使用
- asp.net – ModelState.IsValid返回true,即使必需
- .net – 在黄屏死亡的地方有执行吗?
- asp.net – 如何在web.config的MailSetting部分设
- asp.net – ASP .NET 5 MVC 6身份3角色索赔组[已
热点阅读