ASP.MVC Bundles - 如何正确定义它们?

时间:2013-02-24 04:05:34

标签: asp.net asp.net-mvc asp.net-mvc-3

我有这样的事情:

bundles.Add(new StyleBundle("~/Content/Styles/Default/Forums").Include("~/Content/Styles/Default/Forums/Main.css",
                                                                           "~/Content/Styles/Default/Forums/Slider.css"));

现在,当我发布我的应用程序并运行它时,它会创建一个这样的链接:

<link href="/Content/Styles/Default/Forums?v=8vn0bgRpB8BncmaT_onrpNlXa4t9ydK6_Fep81xhhm01" rel="stylesheet"/>

这是指我的站点目录,并且禁用了对该目录的访问权限。但ASP不允许我在应用程序之外指定文件,那么我该如何正确地执行呢?

1 个答案:

答案 0 :(得分:4)

StyleBundle构造函数中的虚拟路径不必与应用程序中的现有路径匹配:

bundles.Add(new StyleBundle("~/Content/css").Include(
  "~/Content/Styles/Default/Forums/Main.css",
  "~/Content/Styles/Default/Forums/Slider.css"));

如果要使用外部文件,可以使用捆绑包上的CDN路径(需要将UseCDN属性设置为true):

bundles.UseCdn = true;

bundles.Add(new StyleBundle("~/Content/css", "<CDN Path>").Include(
  "<CDN Path>/Main.css",
  "<CDN Path>/Slider.css"));