ASP.NET mvc3问题,我的项目使用了layout模板。本来一切正常,但是后来新建了一个area,问题来了

ASP.NET mvc3问题,我的项目使用了layout模板。本来一切正常,但是后来新建了一个area,问题来了,第1张

路由的匿名参数里加上区域跟控制器试试,比如

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11410004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存