では.NET MVC4
どうするかプロジェクト@Styles.Render
作品を?
@Styles.Render("~/Content/css")
つまり、どのファイルで呼び出されていますか?
フォルダ内に「css」というファイルまたはフォルダがありませんContent
。
では.NET MVC4
どうするかプロジェクト@Styles.Render
作品を?
@Styles.Render("~/Content/css")
つまり、どのファイルで呼び出されていますか?
フォルダ内に「css」というファイルまたはフォルダがありませんContent
。
回答:
フォルダー内のBundleConfig
クラス内で宣言されている特定のバンドルに含まれているファイルを呼び出していApp_Start
ます。
その特定のケースでは、呼び出し先@Styles.Render("~/Content/css")
は "〜/ Content / site.css"を呼び出してい ます。
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
*.min.*
引き継ぎ*.*
ます。
大文字と小文字の区別に注意してください。ファイルがある場合
/Content/bootstrap.css
Bundle.configでリダイレクトします
.Include( "〜/ Content / Bootstrap.css")
CSSは読み込まれません。
パーティーに少し遅れました。誰も言及していないようにしかし、それはそうです
同梱&縮小のをStyleBundle
そう..
@Styles.Render("~/Content/css")
で呼び出すApplication_Start()
:
BundleConfig.RegisterBundles(BundleTable.Bundles);
順番に呼び出す
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/Site.css"));
}
RegisterBundles()
効果的
に1つのファイルに 結合&縮小 bootstrap.css
& Site.css
<link href="/Content/css?v=omEnf6XKhDfHpwdllcEwzSIFQajQQLOQweh_aX9VVWY1" rel="stylesheet">
しかし ..
<system.web>
<compilation debug="false" targetFramework="4.6.1" />
</system.web>
debug
がに設定さfalse
れてWeb.config
いる場合のみ。
それ以外の場合bootstrap.css
&Site.css
個別に提供されます。
バンドルも縮小もされていません:
<link href="/Content/bootstrap.css" rel="stylesheet">
<link href="/Content/Site.css" rel="stylesheet">
App_start.BundleConfigで定義されているように、それは呼び出しているだけです
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
そのセクションを削除しても何も起こりません。
ポロMVCでバンドルを使用しない理由はいくつかあります。Apps_StartフォルダーにカスタムBundleConfigクラスを設定する必要があるため、このケースでは機能しません。次のようにHTMLの先頭にスタイルを単純に追加できる場合、これは意味がありません。
<link rel="stylesheet" href="~/Content/bootstrap.css" />
<link rel="stylesheet" href="~/Content/bootstrap.theme.css" />
これらを、すべてのビューから呼び出されて各ページにドロップされるLayout.cshtmlまたは部分クラスに追加することもできます。スタイルが変更された場合、再コンパイルせずに名前とパスを簡単に変更できます。
クラス内のCSSにハードコードされたリンクを追加すると、UIとデザインをアプリケーションモデルから分離するという全体的な目的も失われます。また、ハードコーディングされたスタイルシートパスをc#で管理したくない場合もあります。たとえば、次のように、さまざまなデバイスやテーマなどの「スキン」や個別のスタイルモデルを構築することはできません。
<link rel="stylesheet" href="~/UI/Skins/skin1/base.css" />
<link rel="stylesheet" href="~/UI/Skins/skin2/base.css" />
このシステムとRazorを使用して、データベースまたはユーザー設定からスキンパスを切り替え、パスを動的に変更するだけでWebサイトのデザイン全体を変更できます。
15年前のCSSの全体的な目的は、ユーザー制御とアプリケーション制御の両方のスタイルシート「スキン」を開発して、UIのルックアンドフィールをアプリケーションとは別に切り替え、データ構造とは無関係にコンテンツを再利用できるようにすることでした。 ....たとえば、印刷可能なバージョン、モバイル、オーディオバージョン、生のxmlなど
C#クラス、Bootstrapのような固定スタイルを使用し、サイトのテーマをアプリケーションコードとマージすることで、この「旧式の」ハードコーディングされたパスシステムに戻り、1998年のWebサイトの構築方法に戻りました。
minification
?:s / :(
MVC 3 Webにバンドルを追加するために必要なすべてのことを行いました(既存のソリューションは初めてです)。 Styles.Render
うまくいきませんでした。結局、コロンが足りないことに気づきました。マスターページでは:<%: Styles.Render("~/Content/Css") %>
私はまだ(同じページには)理由について困惑して<% Html.RenderPartial("LogOnUserControl"); %>
働くことなく、コロン。