2013-08-12 16 views
11

タイトルはほとんどすべてのことを言います。 jqueryの-ui.cssでは、それはのようなスタイルを定義していますMVC jQuery UI配備後にCSSのURLが解決しない

ui-widget-content { 
border: 1px solid #aaaaaa/*{borderColorContent}*/; 
background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/* 
color: #222222/*{fcContent}*/; 
} 

をこれは、dev内正常に動作しますが、一度URLはもはや解決展開ません。このサイトは、IIS7の既定のWebサイトの下に展開されます。だから、ブラウザのコンソールで、私はその代わりに、ここ

http:// (serverName)/(appName)/content/themes/base/images...

http:// (servername)/(appName)/Content/images/ui-bg_glass_75_e6e6e6_1x400.png
で画像を探していることがわかりますバンドルの設定です:

bundles.Add(new StyleBundle("~/Content/css").Include(
      "~/Content/themes/base/jquery-ui.css", 
      "~/Content/site.css" 
)); 

どのように私はこれらのURLを正しく解決することができますか?

+0

CSSファイルをバンドルしましたか? –

+0

はい、すべてバンドルされています。 – Swifty

+0

BundleConfigの関連部分を投稿できますか? –

答えて

20

Ufukの答えが私に考えさせてくれました。バンドルの仮想パスの先頭にアプリ名を追加すると、すべてのスタイルが壊れました。

bundle関数は、includeステートメント内のすべてのCSSファイルを取り、バンドルの仮想パスで指定されたURLにある1つのファイルにまとめます。このバンドルに含まれるCSSファイルで指定されたURLは、バンドルの指定された仮想パスを使用して実行時にURLを構築します。 Devはバンドルを利用していないので、これはうまく動作します。各CSSファイルを個別に/直接参照します。解決策は正しい仮想パスとのバンドルを作成することでした

bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
        "~/Content/themes/base/jquery-ui.css")): 

おかげウフク助言と指導のために。

+2

スタイルバンドルの仮想パスが実際のロケーションと異なるはずであることに注意してください...これは私を数分間固執させました。 – Cody

+0

バンドル名として実際にフォルダパスのファイルを使うべきではありません。これにより、IISはバンドルではなくディレクトリまたはファイルを読み込みます。 –

3

あなたはこのようなあなたのバンドルの仮想パスを更新する必要があります:あなたのCSSファイル内

bundles.Add(new StyleBundle("~/appName/Content/css").Include(
      "~/Content/themes/base/jquery-ui.css", 
      "~/Content/site.css" 
)); 

この方法で相対URLが~/appNameから開始します。 site.cssファイルに他の相対URLがある場合は、このことを覚えておいてください。

0

nuGetパッケージマネージャを使用してソリューションを最新のjqueryuiファイル(バージョン1.11)にアップデートした後、jqueryuiのcssファイルがロードされませんでした。 〜
」:私はとのそれらを置き換え

「〜/コンテンツ/テーマ/ベース/ jquery.ui.theme.css」 :だから私はまだのような古いパスを使用していたちょうどそのjqueryui CSSを気づくことBundleConfigクラスをチェックします/Content/themes/base/theme.css "
そして、私のページはビジネスに復帰しました。

関連する問題