如何仅将 css/脚本添加到部分视图?

Ang*_*nca 7 c# razor

我需要仅将 css 和脚本加载到特定的部分视图,但此时此链接和脚本已加载到所有视图中。我的结构是主视图嵌入了 _Layout 和标题,标题嵌入了一个名为 SearchHeader 的部分视图。

_Layout -> View <- Header <- SearchHeader
Run Code Online (Sandbox Code Playgroud)

标题:

<li id="_Header_Menu">
    <div>
         <ul class="sf-menu">
             <li>
                 @Html.Partial("../Home/SearchHeader")
             </li>
         </ul>
    </div>
</li>
Run Code Online (Sandbox Code Playgroud)

搜索标题:

<html>
<head>
      <link href="@Url.Content("~/Content/fonts")" rel="stylesheet" type="text/css" />
      <link href="@Url.Content("../../Content/GlyphIcons.css")" rel="stylesheet" type="text/css" />
      <link href="@Url.Content("../../Content/bootstrap.css")" rel="stylesheet" type="text/css" />
      <link href="@Url.Content("../../Content/bootstrap.min.css")" rel="stylesheet" type="text/css" />
</head>
<body>
  <input type="text" name="contentToSearch" class="form-control" id="contentToSearch" placeholder="Search">    

<script src="@Url.Content("../../Scripts/boostrap.min.js")" type="text/javascript"></script>
<script src="@Url.Content("../../Scripts/jquery.js")" type="text/javascript"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

css 和脚本加载正确,但应用于Header view. 如何只适用于SearchHeader view

Jas*_*sen 5

如果不应用于整个页面,则无法专门为部分视图加载 CSS 和 JavaScript 资源。因此,您需要设计页面样式或 JavaScript 以仅针对相关部分。

<div id="header-section">
    <ul class="menu">
        ...
        <li>@Html.Partial("SearchHeader")</li>
    </ul>
</div>

...

<div id="search-header">
    <ul class="menu">...</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我想采用ul.menu不同的样式,我会使用选择器规则

JavaScript

$("#header-section > .menu").css({ ... });
$("#search-header > .menu").css({ ... });
Run Code Online (Sandbox Code Playgroud)

或者在 CSS 文件中

#header-section > .menu { ... }
#search-header > .menu { ... }
Run Code Online (Sandbox Code Playgroud)

或者只使用不同的类或特定的 id

<div class="header-only"></div>
<div class="search-header-only"></div>
<div id="special-item"></div>

.header-only { font-size: 1em; }
.search-header-only { font-size: 0.85em; }
#special-item { font-size: 1.5em; }
Run Code Online (Sandbox Code Playgroud)