0

私はmvcのウェブサイトに取り組んでいます

アラビア語ユーザー用と英語ユーザー用の 2 つの CSS ファイルがあります。

ただし、最初のcssファイルがバンドルに追加されます

お気に入り:

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 で) 構成されるため、バンドルに css を追加または削除する設定がアプリケーションの開始時に利用可能でない限り、BundleConfig.cs を機能するように変更しても効果はありません (おそらくそうではないでしょう)。 )。

したがって、もう 1 つのオプションは、ユーザーが設定でアラビア語を選択したときに、この新しい css ファイルをブラウザーに送信することです。技術的には、これはレイアウトに条件を設定して設定を確認し、アラビア語の css を含めることを意味します。ただし、この場合、バンドルの一部にはなりません。

于 2012-12-27T15:05:58.680 に答える