首页 新闻 会员 周边

asp.net mvc urll路由

0
[已解决问题] 解决于 2012-06-06 15:06

routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}-{id}-{name}", // 【1】
new { controller = "Home", action = "Index", id = UrlParameter.Optional,name="a" } // 参数默认值
);

请求URl http://localhost:11949/

为什么把【1】中的{controller} 换成{suiyi}这样就报错这个不是随意的命名的嘛?难道这个命名有要有意思的嘛?  园子里 好多讲asp.net mvc url 路由的

但是好像都没说到这个 只讲匹配规则什么的

koi的主页 koi | 初学一级 | 园豆:4
提问于:2012-05-29 21:27
< >
分享
最佳答案
0

报错时,你在浏览器中访问的是什么网址?

奖励园豆:5
dudu | 高人七级 |园豆:31003 | 2012-05-30 11:50

http://localhost:11949/

koi | 园豆:4 (初学一级) | 2012-05-30 14:15

@koi: 我这里用换成{year}还是同样的错误

dudu | 园豆:31003 (高人七级) | 2012-05-30 16:07

@koi: 给suiyi随便指定一下值就可以了,代码如下:

routes.MapRoute(
    "Default", 
    "{suiyi}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional, suiyi = "" } 
);
dudu | 园豆:31003 (高人七级) | 2012-05-30 16:10

@dudu: 是可以了  不过指定什么值都没有影响。  还是根据原来的

new { controller = "Home", action = "Index",}
koi | 园豆:4 (初学一级) | 2012-05-30 16:58

@koi: http://localhost:11949/这个地址本来就是用默认的。

dudu | 园豆:31003 (高人七级) | 2012-05-30 17:00

@dudu: 

routes.MapRoute(
"Default", // 路由名称
"{controller}/{y1ear}/{id}", // 带有参数的 URL
new { controller = "Home", action = "About",y1ear="Index", id = UrlParameter.Optional } // 参数默认值
);

 

http://localhost:11949/Home 也是访问到About

koi | 园豆:4 (初学一级) | 2012-05-30 17:01

@koi: 那y1ear="Index", 设置不没意义了。。

koi | 园豆:4 (初学一级) | 2012-05-30 17:03
其他回答(3)
0

你可以样"suiyi/{action}-{id}-{name}"

┢┦偉 | 园豆:1240 (小虾三级) | 2012-05-29 21:40

我的意思是说{suiyi}为什么不行 是{}里面的值有固定的几个还是怎么样

支持(0) 反对(0) koi | 园豆:4 (初学一级) | 2012-05-29 21:41

@koi: 可以把,除了controller和action外其他的{}内的都必须要在控制器的action中有那个参数

 

 意思就是比如你定义{controller}/{action}-{suiyi}

new { controller = "Home", action = "Index"

在你的index动作中必须要这样写

index(数据类型 suiyi)

 

 

我也不确定是不是对的

支持(0) 反对(0) ┢┦偉 | 园豆:1240 (小虾三级) | 2012-05-29 21:49
0

suiyi 不是关键词,是没问题的,下面的 “new { controller = , action =” 中的 controller和action是必须的

慧☆星 | 园豆:5640 (大侠五级) | 2012-05-30 10:47

 【1】中的"{controller}", 改成{suiyi }  就报错了

支持(0) 反对(0) koi | 园豆:4 (初学一级) | 2012-05-30 10:49

@koi: 下面的 “new { controller = , action =” 中的 controller和action 填写都正确吗

支持(0) 反对(0) 慧☆星 | 园豆:5640 (大侠五级) | 2012-05-30 15:37

@慧☆星: 绝对正确 

支持(0) 反对(0) koi | 园豆:4 (初学一级) | 2012-05-30 16:59

@koi: 你没必要要那样做了,那样做的是没意义的上面的{controller}/{action}-{id}-{name} 中括号里必要和下面的有对应关系。,你想实现什么功能啊?

支持(0) 反对(0) 慧☆星 | 园豆:5640 (大侠五级) | 2012-05-30 17:12

@慧☆星: 我就奇怪为什么不行

支持(0) 反对(0) koi | 园豆:4 (初学一级) | 2012-05-30 17:30
0

名为  controller 和 action 的参数,是ControllerFactory 用来匹配需要调用哪个 Controller 下面的 Action 来处理必须的路由参数,是不能随意改名的。

路人已 | 园豆:228 (菜鸟二级) | 2012-05-30 18:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册