4

<script>外部または追加の参照と CSS<link>を Razor コンテンツ/子ページに適用/配置するにはどうすればよいですか?

@model Portal.Common.Models.TempModel
@{   

    ViewBag.Title = "asdasd";
    ViewBag.MissionId = id;
    ViewBag.id = 0;
    Layout = "~/Views/Shared/_Layout.cshtml";
}
@if (false)
{
    <script src="../../Scripts/jquery-1.7.1-vsdoc.js" type="text/javascript"></script>
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
    <script src="...../ui/jquery.ui.mouse.js"></script>
    <script src="...../ui/jquery.ui.draggable.js"></script>         
}
<style type="text/css">
img[src*="iws3.png"] {
    display: none;
}
@section JavaScript {
<script type="text/javascript" src="https://www.google.com/jsapi"></script>    
<script type="text/javascript"></script> "
4

2 に答える 2

8

_Layout には、スクリプト用とスタイル用の 2 つのセクションがあります。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title</title>
    @RenderSection("Styles", false)
</script>
</head>
<body>
    @RenderBody()
    @RenderSection("Scripts", false)
</body>
</html>

次に、ビューで必要なセクションをオーバーライドします。

@model Portal.Common.Models.TempModel 

@{
    ViewBag.Title = "asdasd";
    ViewBag.MissionId = id;
    ViewBag.id = 0;
    Layout = "~/Views/Shared/_Layout.cshtml";
}

@section Styles {
    <!-- main CSS -->
    <link href="@Url.Content("~/Content/Site.css)" rel="stylesheet" type="text/css" />

    <!-- some external CSS -->
    <link href="http://www.example.com/foo.css" rel="stylesheet" type="text/css" />

    <!-- some inline CSS -->
    <style type="text/css">
        img[src*="iws3.png"] {
            display: none;
        }
    </style>
}
@section Scripts {
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>    
    <script src="@Url.Content("~/ui/jquery.ui.mouse.js")></script>
    <script src="@Url.Content("~/ui/jquery.ui.draggable.js")></script>
    <script type="text/javascript">
        // some inline javascript
    </script>
}
于 2013-01-30T09:08:20.970 に答える
0

別の方法として、同じ css およびスクリプト ファイルが異なる cshtml ファイルから参照されていて、デフォルトのレイアウトを使用していない場合に便利です。共有フォルダーに部分ビュー (let _Reference.cshtml) を作成し、未加工の出力用に以下を追加します。

@Html.Raw("<link href='../../Content/Site.css' rel='stylesheet'>")
.....
@Html.Raw("<script src='../../Scripts/jquery-1.5.1.min.js'></script>")

参照している cshtml の head タグに、次のように追加します。

<head>
<title>MVC Test</title>
@Html.Partial("_Reference")
</head>

これが誰かを助けることを願っています。

于 2014-07-21T12:26:14.360 に答える