Url.Action没有给我正确的路径

时间:2011-10-19 12:40:10

标签: asp.net-mvc-3 razor

在我看来,我有以下代码......

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

它发出的问题只是......

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

有人可以告诉我这有什么问题吗?

2 个答案:

答案 0 :(得分:2)

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

如果您致电/Home/Index,则与致电/的情况相同。 您可以在RegisterRoutes下的global.asax中查看默认路由。

答案 1 :(得分:1)

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

请参阅RegisterRoutes类型中的HttpApplication方法:

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

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