我正在研究ASP.NET MVC 3应用程序.我主要来自ASP.NET WebForms背景.我正在开发一个具有复杂布局方案的应用程序.因此,我希望将所有布局代码都放在_Layout.cshtml中.我的挑战是,每个页面都有自定义的javascript逻辑.我发现如果这个JavaScript包含在我的页面中间,它就不起作用.所以我想做的就是把它移到其他地方.但为了做到这一点,我需要类似于ASP.NET WebForms PlaceHolder控件的东西.理想情况下,我希望能够做到这样的事情:
<body>
<div id="myLayout" style="background-color:Gray; height:100%;">
<div id="myContent" style="background-color:Silver;">
@RenderBody()
</div>
<div id="myFooter" style="background-color:Silver;">
Footer
</div>
</div>
@RenderScript()
</body>
Run Code Online (Sandbox Code Playgroud)
有没有办法让我这样做?或者我是否必须单独编写每个页面?
谢谢!
这就是我做的,在你的每个视图中创建一个这样的部分,把你想要的任何html放在其中
任何观点:
@section Scripts
{
<script src="@Url.Content("~/Scripts/myscript.js")" type="text/javascript"></script>
<!-- Styles, more scripts, etc -->
}
Run Code Online (Sandbox Code Playgroud)
然后回到_Layout.cshtml中,您可以在任何地方呈现该部分,第二个参数表示该页面是否需要"脚本"部分.
_Layout.cshtml :(你想要的任何地方)
<head>
@RenderSection("Scripts", false)
</head>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1734 次 |
| 最近记录: |