【发布时间】:2014-07-09 08:22:45
【问题描述】:
.NET MVC 中可以有多少个路由参数? 比如localhost:port/controller/action/parameter1/parameter2/parameter3/等等
我目前正在使用它进行路由
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}/{extra}/{extra2}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, extra = UrlParameter.Optional, extra2 = UrlParameter.Optional }
);
这很好用。 但是,当我在此示例中添加另一个路由(例如“extra3”)时,整个页面就会中断,普通表单帖子等停止工作。
你可以拥有多少个限制,我应该只制作普通的查询字符串吗?
已编辑
进一步解释。 我想做这个
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}/{extra}/{extra2}/{extra3}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, extra = UrlParameter.Optional, extra2 = UrlParameter.Optional, extra3 = UrlParameter.Optional }
);
但是当我添加更多的路由/参数时,它根本不起作用。 您可以拥有多少个?
【问题讨论】:
-
整个分页符是什么意思?您收到任何错误消息吗?页面是否完全加载?
-
@musefan 我将 url.action 用于各种事情,但它们都停止工作,就好像它们再也不会被执行一样。这只发生在我添加额外的路由/参数时。随着时间的推移,我添加了新的路由/参数,所以这不是我第一次这样做,但它第一次导致问题可能是由于限制或类似的原因
-
您是否尝试保留默认的并添加新名称?
-
@Saranga 我的意思是我添加了一个额外的 /extra3 到它,比如 controller/action/id/extra/extra2/extra3。到默认地图路线
-
那么您的
url.Actions 是什么样的?如果直接输入 URL,是否可以手动导航到页面?
标签: c# asp.net-mvc asp.net-mvc-routing