asp.net-mvc – 在ASP.Net中路由保留字
发布时间:2020-05-23 21:24:08 所属栏目:asp.Net 来源:互联网
导读:我有一个遗留URL,我希望映射到我的ASP.Net MVC应用程序中的路由 e.g. http://my.domain.com/article/?action=detailitem=22 现在在路线创建动作中有一个特殊含义所以我创建这条路线?控制器是RedirectController,操作是Item. routes.MapRoute( name: Redirect
|
我有一个遗留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-mvc-3 – Razor语法中的ValidateRequest
- oauth-2.0 – 在MVC6应用程序中的OAuth令牌到期
- 如何重定向到returnUrl在Asp.Net MVC5中工作
- asp.net Gridview,1记录跨度两行
- 在ASP.Net应用程序中执行Server.MapPath的最有效的方法是什
- asp.net – 在.net应用程序中使用jquery禁用回发上的按钮
- asp.net – 如何从ASP Web服务的JSON响应中删除d:和__type
- asp.net – 将包含子集合的DTO映射回域模型的设计模式
- asp.net – 如何.NET网站隐藏它们的文件的.aspx扩展名?
- 如何为ASP.NET身份设置密码规则?
推荐文章
站长推荐
热点阅读
