2011-10-19 114 views
0

在我看来,我有以下代码...Url.Action不给我正确的路径

<script type="text/javascript"> 
    var url = '@Url.Action("Index", "Home")'; 
</script> 

它只是发出的问题...

<script type="text/javascript"> 
    var url = '/'; 
</script> 

谁能告诉我,我这有什么问题?

回答

1

这是预期的,默认路由配置被配置为默认使用主控制器和索引操作。

查看您HttpApplication类型的RegisterRoutes方法:

routes.MapRoute(
    "Default", 
    "{controller}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // parameter defaults 
); 

如果您链接到其配置为默认参数值,MVC将避免在输出渲染它,因为它不是必需的。

2

这没有错。这是因为IndexHome是默认的(我认为如果你刚开始的话),所以MVC自动知道不需要URL。

如果您致电/Home/Index,则与拨打/时相同。 你可以在你的global.asax下看到你的默认路由RegisterRoutes