Asp.net mvc 3 Url.Action不';Don’别给我正确的路

Asp.net mvc 3 Url.Action不';Don’别给我正确的路,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,在我看来,我有以下代码 <script type="text/javascript"> var url = '@Url.Action("Index", "Home")'; </script> var url='@url.Action(“Index”,“Home”); 它发出的问题很简单 <script type="text/javascript"> var url = '/'; </script> var url='/';

在我看来,我有以下代码

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

var url='@url.Action(“Index”,“Home”);
它发出的问题很简单

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

var url='/';

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

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

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

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

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

这是意料之中的,默认路由配置默认配置为使用主控制器和索引操作

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

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

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

这没有错。这是因为
Index
Home
是默认设置(如果您刚刚开始,我想是这样),所以MVC自动知道不需要URL

如果调用
/Home/Index
,则与调用
/
相同。
您可以在global.asax中的
注册表项下查看您的默认路由,这没有错。这是因为
Index
Home
是默认设置(如果您刚刚开始,我想是这样),所以MVC自动知道不需要URL

如果调用
/Home/Index
,则与调用
/
相同。 您可以在global.asax中的
注册表项下查看默认路由