2012-05-15 57 views
0

我遇到了奇怪的行为,无法找到正在发生的事情,希望有人会给出一个想法。 因此,有简单和标准的路线图:ASP.NET MVC生成错误的URL地址

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 )如果我输入正确的网址到地址栏,它的工作原理
2)它只能在本地机器(也是IIS7)和生产环境中运行,它的工作方式与假设一样,所以我猜这是IIS设置。

UPDATE: 一个样品的网址是如何产生的:从IIS和磁盘和创造新鲜

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

我有过这个问题,每当我尝试重定向它时,Ajax都会发生这种情况。 – Eon

+0

http://learn.iis.net/page.aspx/497/user-friendly-url---rule-template/ – Eon

+0

看另一个选项 – Eon

回答

0

删除网站解决了这个问题,幸运的是这正在上演,所以没有人受伤。