C# 在页面(cshtml)中包含一个名为“的部分”;Html.Action“;

C# 在页面(cshtml)中包含一个名为“的部分”;Html.Action“;,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,我用“Html.Action”调用我的页面布局到菜单页面,我有一个“javascript”部分用于包含javascript代码: Shared/layout.chtml <!DOCTYPE html> <html> <head> <title>@ViewBag.Title</title> <meta http-equiv="content-type" content="text/html;charset=utf-8

我用“Html.Action”调用我的页面布局到菜单页面,我有一个“javascript”部分用于包含javascript代码:

Shared/layout.chtml

<!DOCTYPE html>
<html>
<head>
    <title>@ViewBag.Title</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">

    <script src="@Url.Content("~/Scripts/jquery-1.6.4.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/Modules/Site.js")" type="text/javascript"></script>

    @RenderSection("javascript", required: false)

</head>

<body>
    <div id="menucontainer">
        @Html.Action("Menu", "Controls")
    </div>

    <div id="main">
    @RenderBody()
    </div>
</body>
</html>

@视图包。标题
@RenderSection(“javascript”,必需:false)
@动作(“菜单”、“控件”)
@RenderBody()
但“javascript”部分中没有包含菜单:

控件/Menu.chtml

@section javascript
{
    <script src="@Url.Content("~/Scripts/Modules/Site.Controls.Menu.js")" type="text/javascript"></script>
}

<ul class="sf-menu">
  <li class="current">
    <a href="#">Menu</a>
    <ul>
      <li>@Html.ActionLink("Home", "Index", "Home")</li>
      <li>@Html.ActionLink("WebGrid Sample", "WebGridSample", "Grids")</li>
    </ul>
  </li>

</ul>
@节javascript
{
}
    • @ActionLink(“主页”、“索引”、“主页”)
    • @ActionLink(“WebGrid示例”、“WebGridSample”、“Grids”)
如何将javascript调用包含在“javascript”部分


谢谢

通过
@Html.Action
@Html.Partial
调用MVC视图时,不支持节。部分仅在视图和其直接布局之间受支持。

应该是
menu.cshtml
?我对您的逻辑失去了信心。为什么有一个javascript部分是脚本引用。为什么不跳过“section”部分,直接在menu.cshtml文件中使用javascript引用?@musefan,这样在呈现页面时,javascript调用会出现在页眉中,而不是出现在任何一侧,我可以看到它会出现在页眉中,但有什么好处呢?请看以下内容: