我的mvc项目中至少有3个区域
所有css和js文件分别位于根"~/css/" ~/js/
我在Global.asax文件中注册了这样的包:
BundleTable.Bundles.Add(new StyleBundle(CssVirtualPath("mastercss"))
.Include(Css("bootstrap.min.css"), new CssRewriteUrlTransform())
.Include(Css("bootstrap-responsive.min.css"), new CssRewriteUrlTransform())
.Include(Css("normalize.css"), new CssRewriteUrlTransform())
.Include(Css("media.css"), new CssRewriteUrlTransform())
.Include(Css("jquery-ui-1.8.24.custom.css"), new CssRewriteUrlTransform())
.Include(Css("icons.css"), new CssRewriteUrlTransform())
.Include(Css("MetroJs.css"), new CssRewriteUrlTransform())
);
private static string CssVirtualPath(string filename)
{
return string.Format("~/bundle/css/{0}", RemoveSpecialChars(filename));
}
private static string Css(string filename)
{
filename = RemoveSpecialChars(filename);
return string.Format("~/css/{0}", filename);
}
private static string RemoveSpecialChars(string value)
{
return value.Replace("/", "").Replace(@"\", "").Replace("~", "");
}
在第1区/登录页面,我正在调用这样的包:
@Styles.Render("bundle/css/mastercss")
页面来源的等价物是:
<link href="/bundle/css/mastercss" rel="stylesheet"/>
它工作正常。但是在我登录后,个人资料页面(视图)呈现失败:
区域1 /用户
使用相同的代码:
@Styles.Render("bundle/css/mastercss")
页面来源的等价物是:
<link href="/Area1/User/bundle/css/mastercss" rel="stylesheet"/>
它无法加载......我该怎么办?我一直在寻找答案,但没有找到运气。