0

我的 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
}

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

4

1 回答 1

2

我遇到过同样的问题。@section 标题不是问题所在的部分块。导航到有问题的部分并查看该部分的结束标记。更有可能它没有像开始标签那样被 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 评论风格。我从另一个项目复制并粘贴,并考虑更改代码。查找与您的部分内容不匹配的某种类型的格式或编码问题

于 2015-04-29T10:53:30.117 回答