2

ASP.NETMVC3Webサイトを構築しています。.cshtmlファイルにJavaScriptがあります。

<div>hello!</div>

<script type="text/javascript">
   $(document).ready(function () { alert("ready!"); })
</script>

Google Chromeの組み込みデバッガーは、このjavascriptスニペットを認識しないため、デバッグできません。

Google Chromeの組み込みデバッガーでこのJavaScriptスニペットにブレークポイントを設定するにはどうすればよいですか?

4

2 に答える 2

1

奇妙な、私にとっては素晴らしい働きをします:

  1. Scriptsタブに移動
  2. 参照されているすべてのJavaScriptファイルのドロップダウンリストが表示されます。インラインスクリプトに対応するものを選択してください(:9038下のスクリーンショット)
  3. ブレークポイントを設定する

ここに画像の説明を入力してください

代わりにFireBugを検討することもできます。

于 2011-07-07T22:09:37.197 に答える
0

MVC3では、かみそりのビューエンジンを実行しているので、中かっこでビューの解析がめちゃくちゃになりました。

たとえば、次の場合:

@using(Html.BeginForm()){
<div>hello!</div>

<script type="text/javascript">
   $(document).ready(function () { alert("ready!"); });
</script>
}

スクリプトの中括弧に問題がある可能性があります。次のように変更してみてください。

  @{ Html.BeginForm(); }
    <div>hello!</div>

    <script type="text/javascript">
       $(document).ready(function () { 
            alert("ready!"); 
       });
    </script>
   @{ Html.EndForm(); }

これはあなたの質問に対する答えかもしれないし、そうでないかもしれませんが、私のフォームのいくつかの何が悪いのかを理解するのに私は永遠にかかりました。ただし、スクリプトを埋め込んでいませんでした。条件付きロジックのブロックが、すべてを壊してしまいました。

編集 もう少し調査した後、誰かが私を解決策に導いた問題を見つけました:aspnet.codeplex.com/workitem/7551。

私のコミットメッセージ(私は物理的にアクセスできなくなったコードベースから)は、それが悪いマークアップであった可能性があることを示唆しています。問題のあるページを作成した開発者は、XHTML 1.1 doctypeを使用していても、大文字のタグを使用するのが好きでした。彼はまた、条件付きでコンパイルおよび/または入力されている多くの属性を持っていました。例えば:

<div class="something @myHelper(someFlag)"></div>
<div @{ isSomeFlag ? <text>class="asdf"</text> : "" }></div>

私の解決策は一時的な修正と見なす必要があります。

于 2011-07-07T22:16:40.247 に答える