我遇到了奇怪的行为,无法找到发生了什么,希望有人能给出一个想法。于是就有了简单标准的路线图:
routes.MapRoute("Category",
"category/{categoryName}/{id}",
new {
controller = MVC.PublicProduct.Name,
action = MVC.PublicProduct.ActionNames.Index,
id = 1
});
事情是,而不是生成这个:
http://staging/category/sunglasses/14
它给:
http://staging/?action=index&controller=publicproduct&id=14&categoryname=sunglasses
奇怪的是:
1)如果我在地址栏中输入正确的 url,它可以工作
2)它的行为只有在暂存、本地机器(也是 IIS7)和生产中,它按预期工作,所以我猜它是某种 IIS环境。
更新:如何生成 url 的示例之一:
<a href="@Url.Action(MVC.Basket.Index())">My Cart</a>