您的位置:首页 > 其它

路由配置4-伪静态

2015-01-24 12:03 211 查看
一、路由规则:

routes.MapRoute(
name: "Default1",
url: "more_{root}_{plate}.html",
defaults: new { controller = "about", action = "Index", root = UrlParameter.Optional, plate = UrlParameter.Optional }
);


二、定义URL:

<a href="@Url.Action("index", "about", new { root = 1, plate = 2 })">123456</a>


三、在VIew获取参数:

<p>root: @(Url.RequestContext.RouteData.Values["root"])</p>
<p>plate: @(Url.RequestContext.RouteData.Values["plate"]) </p>


完成以上三点还不足够,还需要在webconfig配置:



四。简单实例

/***********************RouteFourth路由控制**************************/
routes.MapRoute(
name: "RouteFourth2",
url: "fourth",
defaults: new { controller = "RouteFourth", action = "Index" }
);
routes.MapRoute(
name: "RouteFourth3",
url: "RouteFourth/{id}.html",
defaults: new { controller = "RouteFourth", action = "GetID", id = 1 },
constraints: new { id = @"\d+" }
);
routes.MapRoute(
name: "RouteFourth4",
url: "RouteFourth/name{name}",
defaults: new { controller = "RouteFourth", action = "GetName", name = "空" },
constraints: new { name = @"\w+" }
);
routes.MapRoute(
name: "RouteFourth1",
url: "RouteFourth.",//对于以'.'结尾的,直接报错,不会到路由匹配这一步
defaults: new { controller = "RouteFourth", action = "Index" }
);
routes.MapRoute(
name: "RouteFourth11",
url: "RouteFourth.html",
defaults: new { controller = "RouteFourth", action = "Index" }
);

routes.MapRoute(
name: "RouteFourth111",
url: "RouteFourth{ext}",
defaults: new { controller = "RouteFourth", action = "Index" },
constraints: new { ext=@"(.abc)|(.htm)"}
);


五。匹配问题

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: