【发布时间】:2012-02-07 23:22:56
【问题描述】:
这可能已经被问过了 - 如果很抱歉!我找不到它。 我不确定 asp 如何决定何时使用查询字符串和“正常外观的路径”(嵌入值) 以此为例:
routes.MapRoute(
"SomePage",
"Net/Fix/{value}",
new { controller = "Net", action = "Index" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
我不知道如何解释-我会尝试..如果我错了,请解释一下
问题 1。 是 mapRoute 中的第一个参数,以便我们可以指定使用超链接时要进行的路由吗?
问题 2。 第二个参数有什么作用? 似乎第二个参数为您提供了指定路由应如何发生的选项,如下所示:“Net/Fix/hello”或通过以 {controller}/{action}/{somevar}
的形式指定占位符>问题 3: 我假设如果在问题 2 场景中没有使用任何内容 - 这指定了应该发生的默认路由?
问题 4: ASP.NET 如何推断是使用查询字符串还是嵌入值..
因为例如当我决定调用我的页面时
http:/localhost:portno/Net/Fix/hello
它尽职尽责地打印 hello.. 但是当我这样做时 this
http:/localhost:portno/Net/Index/hello
它不起作用..除非我这样做
http:/localhost:portno/Net/Index?value=hello..
问题是……为什么?!!!
我希望问题很清楚。我会回复答案(如果以后有的话)。
【问题讨论】:
标签: c# asp.net asp.net-mvc-2 asp.net-mvc-routing