在ASP.NET MVC 3中使用虚拟路径

时间:2012-07-20 18:22:48

标签: asp.net-mvc-3

我有一个布局页面,该页面在我的应用程序中的所有视图中共享。该视图引用了我的应用中的.css。为了便于参考,我目前在_layout.cshtml文件的顶部有以下内容:

<link rel="stylesheet" href="/css/themes/default/app.css" />

我打算使用此应用并通过PhoneGap加载到手机应用中。因此,我不能使用/css/themes/default.app.css。相反,我需要将它转换为相对于文件路径的字符串。例如,我需要动态生成一个类似于以下内容的值:

<link rel="stylesheet" href="../../../css/themes/default/app.css" />

“../”的数量将根据它的深度来确定。我想在ASP.NET MVC 3框架中会有一个实用程序或内置的东西来执行此操作。但是,我找不到任何东西。我有很多文件,我不想手动更新所有的网址模式。是否有一个实用程序可以自动处理我想要实现的内容?如果是这样,怎么样?

谢谢

1 个答案:

答案 0 :(得分:1)

使用UrlHelper.Content HTML帮助程序方法。

  

此方法将虚拟(相对)路径转换为应用程序绝对路径。

<link href="@Url.Content("~/css/themes/default/app.css")" 
                                       rel="stylesheet" type="text/css" />     

您可以将css文件夹放在MVC项目根目录下的Content目录下