为什么渲染引擎认为我有嵌套的节块?

时间:2013-07-30 16:17:45

标签: jquery html asp.net css razor

我的asp.net razor(cshtml)文件无法加载; YSOD说:

Parser Error

Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. 

Parser Error Message: Section blocks ("@section Header { ... }") cannot be nested.  Only one level of section blocks are allowed.    

Source Error:     

Line 239:}
Line 240:
Line 241:@section MainHead
Line 242:{
Line 243:    <link type="text/css" href="http://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet"></link>

Source File: /TLDReporter/Views/TLDCriteria/ReceiptCriteria.cshtml    Line: 241 

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1008

文件中的块是:

@section ScriptContent
{
    // references to css and js, followed by jQuery code
}

@section MainHead
{
    // style/CSS block
}

@using (Html.BeginForm())
{
    // HTML
}

如上所述,它们都具有打开和关闭支架,并且每个支架在前一个关闭后开始。那么为什么渲染引擎认为我有嵌套的区块?

1 个答案:

答案 0 :(得分:1)

我有同样的问题。 @section Header不是问题所在的部分块。导航到它遇到问题的部分,然后查看该部分的结束标记。更有可能的是IDE没有像开头标记那样突出显示它。这就是地雷的样子:

@section scripts{
<script src="../../someFile.js"></script>
<!-- comment line -->
<script src="../../someOtherFile.js"></script>
<!-- more comments -->
<script src="../../lastFile.js"></script>    
}

它似乎不喜欢我的脚本部分中的注释。这是有道理的,因为评论是在html与使用asp.net评论风格。我从另一个项目复制并粘贴,并考虑更改代码。查找某些类型的格式或编码问题,其中您的部分内容与

不匹配