Asp.net mvc 2 我应该在MVC视图中使用Url.Content()还是ResolveUrl()?

Asp.net mvc 2 我应该在MVC视图中使用Url.Content()还是ResolveUrl()?,asp.net-mvc-2,url-rewriting,.net-4.0,relative-path,Asp.net Mvc 2,Url Rewriting,.net 4.0,Relative Path,当建筑规范如下所示时: <script type="text/javascript" src="<%=ResolveUrl("~/js/js.js")%>"></script> 或 我应该使用Url.Content还是ResolveUrl()?有什么区别吗?Url.Content与正常情况相比更具MVCish。从ASP.NET开始就存在。如果您在MVC应用程序中使用IIS URL重写,例如在内部将URL.Content()视为,则会生成正确的子域相对

当建筑规范如下所示时:

<script type="text/javascript" src="<%=ResolveUrl("~/js/js.js")%>"></script>



我应该使用
Url.Content
还是
ResolveUrl()
?有什么区别吗?

Url.Content
与正常情况相比更具MVCish。从ASP.NET开始就存在。

如果您在MVC应用程序中使用IIS URL重写,例如在内部将URL.Content()视为,则会生成正确的子域相对链接。在这种情况下,ResolveUrl()将生成不正确的链接。

我更喜欢将站点根捕获到局部变量中并重用它

<% var siteroot = Url.Content("~/") %>

<script type="text/javascript" src="<%: siteroot %>Script/jquery-1.4.1.js"></script>
<script type="text/javascript" src="<%: siteroot %>Script/jquery.validate.js"></script>


在MVC应用程序中,我更喜欢
Url.Content
。它对单元测试更友好。这可能节省不到几毫秒。我不认为它节省了任何东西。使用Gulp打包JS和CSS比微观管理URL更有意义。
<% var siteroot = Url.Content("~/") %>

<script type="text/javascript" src="<%: siteroot %>Script/jquery-1.4.1.js"></script>
<script type="text/javascript" src="<%: siteroot %>Script/jquery.validate.js"></script>