12

Visual Studio 2012 と組み込みのテンプレート ([追加] -> [新しいプロジェクト] の下) を使用して、.NET Framework 4.5 を対象とする新しい ASP.NET Web フォーム Web アプリケーション プロジェクトを作成しました。デフォルトで提供される Site.Master ページ内に、次のようなページ上の CSS を含むマークアップが表示されます。

<webopt:BundleReference runat="server" Path="~/Content/css" />

ただし、代わりにこの他のコードを使用できる可能性があることに気付きました....

<%: Styles.Render("~/Content/css") %>

レンダリングされたページを見ると、結果は同じように見えます。webopt:BundleReference の使用と Styles.Render の使用の違いは何ですか?

これらのうちの1つは、他のアプローチよりも優れていますか?

4

2 に答える 2

10

構文はASP.NETMVC用です(<%: Styles.Render %>使用する実際のページコンテキストがないため、ASP.NETコントロールを使用できません)。BundleReferenceコントロールはWebForms用です。

ASP.NET MVCは、Razorの代わりにWebFormsをビューエンジンとして使用できます(「@」記号が多すぎる場合)。そのため、少しクロスオーバーがあります。

WebFormsの人々にページのレンダリング機能(<%タグ)の使用を要求するのではなく、一貫性を保つためにコントロールを追加したと思います。

于 2012-09-18T17:31:09.560 に答える
2

レンダリングされたページを見ると、結果は同じように見えます。webopt:BundleReference の使用と Styles.Render の使用の違いは何ですか?

理解できるように、BundleReference は、スクリプトとスタイルの参照を含めるためだけでなく、それらをまとめて帯域幅の効率を高めるためにも使用されます。バンドルと縮小のチュートリアルを参照してください。後者は、URL パターンに適合する 1 つ以上のスクリプトを含めるための単なるヘルパーだと思います。

于 2012-10-11T21:30:43.093 に答える