什么可能导致我得到YSOD:“部分块不能嵌套。只允许一级部分块。”?

时间:2013-08-15 17:58:15

标签: jquery asp.net visual-studio-2010 razor ysod

我确实可以看到上面标记为可疑的部分上方的代码是错误的,因为结束“}”不是黄色。

在页面顶部,我有一些使用指令:

@using System.Configuration
@model CCRReporter.Models.TLISReportModel

@{
    ViewBag.Title = "Transaction Line Item Sales Report Criteria";
    ViewBag.PageName = ViewBag.Title;
}

...后面跟着一个脚本部分:

@section ScriptContent
{
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript" defer> </script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript" defer> </script>
    // etc.

<script type="text/javascript">
        var bSubmitting = false;
        var WantsFocus = null;
        var bFocusing = false;
        var report_parms = null;

        function SetTabOrder() {
            $.each([
                "#BeginDate",
                "#BeginTime",
                "#EndDate",
                "#EndTime",
                "#InputSite-input",
                "#cmdAddSite",
                "#InputDept-input",
                "#cmdAddDept",
                "#IncludeDepts",
                "#ExcludeDepts",
                "#UPCBeginsWith"],
            function (i, n) {
                $(n).prop("taborder", "y");
            });
        }

        // ready handler
        $(function() {
    // etc.

...这个jQuery已通过jsfiddle / jshint验证。

这是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 402:}
Line 403:
Line 404:@section MainHead
Line 405:{
Line 406:    <link href="@Url.Content("http://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css")" rel="stylesheet" type="text/css" />

Source File: /CCRReporter/Views/CCRCriteria/TLISReport.cshtml    Line: 404

我多次查看了所有这些代码,并且不知道问题是什么。有没有人遇到这个问题,或者知道找到问题所在的技巧?

1 个答案:

答案 0 :(得分:0)

我仍然无法找到代码的任何语法问题,但仔细观察后,代码的逻辑似乎很奇怪(奇怪和可怕的结合):

它有一个submit_button点击处理程序,调用$(“form”)。submit();

如果“submit_button”确实是一个提交按钮(输入类型=“提交”) - 它是!,为什么这是必要的?不仅如此,从click处理程序调用的函数已经以这种方式声明:

$("#form0").submit(function() {

form0?什么是Hec Ramsey?!?页面上任何地方都没有“Form0”......

一旦我将用于提交的代码从Form0处理程序(我承认,我之前已经从选择幻像'form0'更改为'form')移动到submit_button处理程序,我们期待已久的渴望黄色background返回到该部分的结尾“}”。

瞧!

也许调试器比我想象的更聪明:它不仅在代码不编译时进行,而且有时,显然,当它(代码,或者,扩展为碳基Biped)写了一篇关于疯狂垃圾箱的候选人。

唉 - 我知道笼养的鸟为什么唱歌:他被困在维持飞过鸡舍的小鸟的代码中!