【问题标题】:RenderSection not working inside Partial View in ASP.NET MVC3RenderSection 在 ASP.NET MVC3 的局部视图中不起作用
【发布时间】:2012-12-19 13:16:36
【问题描述】:

在我的 ASP.NET MVC3 项目中,我有一个由 Visual Studio 2010 生成的标准 _Layout.cshtml,在关闭我的 <body> 标记后,我放置了一个 RenderSection

_Layout.cshtml:

</body>
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
@RenderSection("ScriptContent", required: false)
</html>

然后在我的Index.cshtml 视图中我有:

@model MyApp.ViewModels.MyViewModel
@{ Html.RenderPartial("MyPartial", Model);  }

如果我将 @section ScriptContent 放在 Index.cshtml 中,它会正确显示。如果我把它放在我的局部视图MyPartial.cshtml:

@model MyApp.ViewModels.MyViewModel

@section ScriptContent {
     <script src="@Url.Content("~/Scripts/Filters.js")" type="text/javascript"></script>    
} 

在我的页面源中,我有:

</body>
     <script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>    
</html>

意思是@section 没有被执行。可能是什么原因?谢谢

【问题讨论】:

标签: asp.net-mvc asp.net-mvc-3 partial-views


【解决方案1】:

不能在局部视图的布局中设置@section。作为一种解决方法,您可以改为调用呈现必要的&lt;script&gt; 和 HTML 的操作 - 尽管这不是很优雅。

【讨论】:

  • 谢谢!因此,除了您提出的解决方案之外,唯一可能的解决方案是在我的视图中移动 @section
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多