0

確かに、上で疑わしいとフラグが付けられたセクションの上のコードが間違っていることがわかります。最後の「}」が黄色ではないからです。

ページの上部には、いくつかの using ディレクティブがあります。

@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

このコードを何度も見直しましたが、何が問題なのかわかりません。誰かがこれに遭遇したことがありますか、または問題がどこにあるかを見つけるためのトリックを知っていますか?

4

1 に答える 1

0

コードの構文上の問題はまだ見つかりませんでしたが、よく調べてみると、コードのロジックは非常に奇妙に見えました (奇妙と不気味の組み合わせ)。

$("form").submit(); を呼び出す submit_button クリック ハンドラがありました。

「submit_button」が本当に送信ボタン (input type="submit") である場合、それが必要な理由は何ですか? それだけでなく、クリック ハンドラから呼び出される関数は次のように宣言されていました。

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

フォーム0? 何ヘック・ラムジー?!? ページのどこにも「Form0」はありません...

送信用のコードを Form0 ハンドラー (これは以前にファントム 'form0' の選択から 'form' に変更したことは認めます) から submit_button ハンドラーに移動すると、待望の黄色の背景がセクションの終わり "}"。

出来上がり!

おそらく、デバッガーは私が思っていたよりも賢いのでしょう。コードがコンパイルされないときだけでなく、コードがコンパイルされないときもストライキを起こします (コード、ひいてはそれを書いたカーボンベースの二足歩行)。ルーニービンの候補。

悲しいかな -- ケージに入れられた鳥がなぜ歌っているのかはわかっています。

于 2013-08-15T19:07:38.750 に答える