Mar*_*inS 37 c# asp.net-mvc razor asp.net-mvc-4
我正在使用MVC v4.
我有一个'_BootstrapLayout'页面,它定义了所有的twitter bootstrap等东西,一个定义网站布局的主页面,导航栏等,以及从主页面继承的网站页面.
_BootstrapLayout.cshtml
_MainPage.cshtml @ {Layout ="〜/ Views/Shared/_BootstrapLayout.cshtml"; }
Index.cshtml @ {Layout ="〜/ Views/Shared/_MainPage.cshtml";}
所以主页 - >主页 - >网站页面
_BootstrapLayout页面包含脚本的渲染
@RenderSection("scripts", required: false)
Run Code Online (Sandbox Code Playgroud)
我想在Index.cshtml页面添加一个脚本部分,但是当我这样做时,我得到了异常
@section scripts {
<script type="text/javascript">
$(document).ready(function () {
...
});
</script>
}
Run Code Online (Sandbox Code Playgroud)
以下部分已定义,但尚未针对布局页面"〜/ Views/Shared/_MainPage.cshtml":"scripts"进行渲染.
所以我在_MainPage.cshtml中添加了一个空的@section脚本,仍然是同样的问题?即使我将代码添加到_MainPage脚本部分,我仍然会得到相同的错误.无论我在@MainPage中放置@section,仍然会得到相同的错误.
如果我故意不关闭该部分(即删除}),那么我得到一个错误,表明该部分是不正确的,所以它正在解析_MainPage中的部分.
在这种情况下,如何让网站页面上的脚本的@RenderSections工作?
Hac*_*ese 39
您需要重新定义该部分_MainPage.cshtml.
_BootstrapLayout.cshtml
@RenderSection("scripts", false)
Run Code Online (Sandbox Code Playgroud)
_MainPage.cshtml
@section scripts
{
@RenderSection("scripts", false)
}
Run Code Online (Sandbox Code Playgroud)
Index.cshtml
@section scripts
{
<script>
// etc.
</script>
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56772 次 |
| 最近记录: |