ASP.NET MVC在暂存时生成的URL错误

时间:2012-05-15 14:20:25

标签: asp.net-mvc asp.net-mvc-3 iis-7

我遇到了奇怪的行为,无法找到发生的事情,希望有人能给出一个想法。 所以有简单和标准的路线图:

 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设置。

更新: 其中一个示例是如何生成网址:

<a href="@Url.Action(MVC.Basket.Index())">My Cart</a>

1 个答案:

答案 0 :(得分:0)

从IIS和磁盘中删除网站并创建新网站解决了这个问题,幸运的是这是暂存,所以没有人受到伤害。