4

ASP.NET MVC プロジェクトがあります。_Layout、コントローラー、およびいくつかのビューがあります。一部のコードは明らかにグローバルです。たとえば、サイト全体で共通の _Layout CSS と CSS は、間違いなくグローバル css ファイルに含まれます。

しかし、スタイルと JavaScript がビューに固有の場合、.cshtml ファイルに含める必要がありますか?それともグローバル ファイルに含める必要がありますか?

4

3 に答える 3

0

すべてのビューに共通するものは、_Layout ファイルに含める必要があります。特定のページ用にカスタム化された CSS と Javascript は、その特定のページにのみロードする必要があります (記述されていませんが、別の .JS または css ファイルからレンダリングされます)。

于 2015-02-10T12:07:39.507 に答える
0

このようにして、ビュー固有のリソースがバンドルされ、縮小されます

_Layout.cshtml:

<head>
    @Styles.Render("~/Content/mastercss")
    @Scripts.Render("~/bundles/masterjs")

    @RenderSection("header", required: false)
</head>

意見 :

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
 }

@section header{
    @Styles.Render("~/Content/viewspecific")
    @Scripts.Render("~/bundles/viewspecific")
}

バンドルは、それらを必要とするページごとに分割する必要があります。たとえば、インターネット アプリケーションの既定の ASP.NET MVC テンプレートは、jQuery とは別に jQuery 検証バンドルを作成します。作成された既定のビューには入力がなく、値がポストされないため、検証バンドルは含まれません。

http://www.asp.net/mvc/overview/performance/bundling-and-minification

于 2015-02-10T12:02:42.787 に答える
0

レイアウトで RenderSection を介してセクションを定義し、次のようにビューで使用できます。

_Layout.cshtml :

<head>
<title>@ViewBag.Title</title>
<meta name="viewport" content="width=device-width" />
<script src="~/Content/Scripts/public.js"></script>
@RenderSection("head", false)
</head>

Post.cshtml :

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
 }
@section head{
<script src="~/Content/Scripts/custom.js"></script>
}
于 2014-09-26T09:39:47.650 に答える