1

私の mvc プロジェクトには少なくとも 3 つの領域があります。
すべての css ファイルと js ファイルは、それぞれルートの 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("~", "");
    }  

Area 1/Login ページで、次のようにバンドルを呼び出しています。

@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"/>  

そして、ロードに失敗します...どうすればいいですか?私は答えを探していましたが、運がありませんでした。

4

0 に答える 0