new { area = "", controller = "Home" }
个人感觉这个aera实在不好用,还不如分多个项目来做
方法步骤1、找到路由配置文件
2、打开文件之后,添加代码:
3、代码:routes.MapRoute(
"product-details",
"product/{id}",
new
{
controller
=
"Product",
action
=
"Details",
id
=
@"d"}
)
说明:
(1)MapRoute方法的第一个参数是本条路由的名称,如果指定,则每条路由名称应唯一,也可以放空不填
(2)第二个参数指的是url的格式,如product/123,表示是的编号为123的产品的详细信息,还可以再加复杂点,如/product/{category}/{id},表示"产品/类别/编号"
(3)第三个参数设置默认值及限制,可以使用正则表达式
(4)其实还有第四个参数,可以指定不同的area
(5)路由可以配置多条,并且按顺序执行,在前面的优先级较高
配置好,编译运行,可以直接访问:/product/123,而不是原来的/product/details/123
4、还可以配置带有分类参数的路由,使得访问路径可以变成:/product/food或/product/food/2,前者表示food分类下的所有商品,后者表示food分类下编号为2的商品
5、还可以对分类名进行限制,只允许出现其中的名称,示例表示只允许出现四种可能,其他的分类名都是非法的
6、如果你创建了Area,那么你需要添加一个命名空间,不然会产生冲突,这个是主要路由配置示例
7、这个是Area中的路由配置示例,其中,每个area都会有一个默认的配置文件,你打开之后,就在这里设置命名空间
@Html.ActionLink("显示的名称", "BBBB", "CCCC", new { area = "AAAA" }, new { })object routeValues 这个参数,你指定 area 这个属性,那个这个链接就是到*******/AAAA/BBBB/CCCC了,先是域后面控制器,最后是Action
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)