0

我在mvc网站上工作

我有 2 个 CSS 文件,一个用于阿拉伯语用户,另一个用于英语用户

但是第一个 css 文件添加到 bundle

喜欢:

bundles.Add(New StyleBundle("~/Content/css").Include("~/Content/site.css"))

我想添加另一个样式包

喜欢:

bundles.Add(New StyleBundle("~/Content/css").Include("~/Content/site.ar.css"))

并根据用户选择更改使用过的

4

2 回答 2

3

实际上这是可能的。这是我为我的英语/法语网站所做的:

在 BundleConfig.cs 中:

bundles.Add(new StyleBundle("~/Content/css-en-US").Include(
            "~/Content/site.en-US.css"));
bundles.Add(new StyleBundle("~/Content/css-fr-FR").Include(
            "~/Content/site.fr-FR.css"));

在我的视图中(在我的情况下为 _Layout.cshtml):

@{
    var culture = System.Threading.Thread.CurrentThread.CurrentUICulture.Name.ToLowerInvariant();
}
...
    @Styles.Render("~/Content/css-" + culture)
...

我希望这有帮助。

于 2013-07-09T14:34:59.123 回答
1

捆绑包是在应用程序启动期间配置的(在 global.asax 中),因此更改 BundleConfig.cs 以工作不会有帮助,除非在应用程序启动期间可以使用向捆绑包添加或删除 css 的首选项(这可能不会是这种情况)。

因此,另一种选择是当用户将首选项选择为阿拉伯语时,将这个新的 css 文件发送到浏览器。从技术上讲,这意味着在布局中有一个条件来检查首选项并包含阿拉伯 css。但是在这种情况下,它不会是捆绑包的一部分。

于 2012-12-27T15:05:58.680 回答