Asp.net 最佳方法:MVC中的多内容占位符

Asp.net 最佳方法:MVC中的多内容占位符,asp.net,asp.net-mvc,vb.net,asp.net-mvc-3,razor,Asp.net,Asp.net Mvc,Vb.net,Asp.net Mvc 3,Razor,我正在将ASP.NETWebForms项目转换为MVC3。母版页在不同位置包含多个内容占位符 我用@RenderBody()替换了第一个内容占位符,但我不知道第二个内容占位符该怎么办 一种方法可能是分离视图,并为每个内容占位符方法放置一个@Html.RenderAction()。有更好的方法吗?Razor对asp.net webforms内容占位符有了部分的理解。请查看介绍链接。您可以使用章节。例如,要在layout.cshtml的head标记中包含脚本部分,可以指定 <head>

我正在将ASP.NETWebForms项目转换为MVC3。母版页在不同位置包含多个内容占位符

我用
@RenderBody()
替换了第一个内容占位符,但我不知道第二个内容占位符该怎么办


一种方法可能是分离视图,并为每个内容占位符方法放置一个
@Html.RenderAction()
。有更好的方法吗?

Razor对asp.net webforms内容占位符有了
部分的理解。请查看介绍链接。

您可以使用章节。例如,要在layout.cshtml的head标记中包含脚本部分,可以指定

<head>    
<title>@ViewBag.Title</title>    
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />    
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>    
@RenderSection("scripts", false);
</head>

@视图包。标题
@渲染部分(“脚本”,false);
在任何视图中,现在都可以添加脚本部分来注入脚本:

@section scripts{    
<script src="@Url.Content("~/Scripts/myscript.js")" type="text/javascript"></script>
}
@节脚本{
}

“false”参数告诉MVC,如果子页面上存在节,则呈现该节;如果没有调用,则不执行任何操作

谢谢您的回答。此链接可以更好地阅读第()节。请在回答以后的问题时包含这一点……对不起,我刚刚更正了。这是我的复制粘贴错误:)+1你提供了正确的答案,但我选择了@archil的一个作为答案,因为他先回答了…@Naveed Butt:NP。问题是你解决了你的问题;)