如何在asp.net mvc中为资源制作虚假路径?

时间:2013-07-10 02:10:11

标签: asp.net-mvc-3

我正在使用asp.net mvc3。我的网站上有两个脚本文件,如:

<script type="text/jscript" src="/SiteName/lib/jquery/menus.js"></script>

<script type="text/jscript" src="/SiteName/lib/jquery/dialogs.js"></script>

这些是这两个.js文件的真实路径,其中SiteName目录位于我的网站的根目录中。 现在,当网站呈现时,我想成为这样的话:

<script type="text/jscript" src="/lib/jquery/menus.js"></script>

<script type="text/jscript" src="/lib/jquery/dialogs.js"></script>

因此,“SiteName”部分将从路径中删除!但它确实可用! 然而,浏览器必须能够加载这些脚本。 我认为这必须通过routes.MapRoute或类似这些来完成!

1 个答案:

答案 0 :(得分:0)

您可以使用 BundleConfig 来实现此目的。您可以创建具有虚拟路径的样式和脚本包,并具有缩小的附加好处。如果您将多个脚本添加到一个包中,它将加入并缩小为一个虚拟脚本。 e.g:

bundles.Add(new ScriptBundle("~/lib/jquery").Include(
             "~/SiteName/lib/jquery/menus.js",
             "~/SiteName/lib/jquery/dialogs.js"));

在页面渲染中,它会显示为:

<script type="text/javascript" src="~/lib/jquery"></script>

从内存来看,默认情况下MVC3没有,但如果您参考这个答案,它看起来很容易实现:https://stackoverflow.com/a/12754108/769083