2011-10-19 113 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