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>
私の解決策は一時的な修正と見なす必要があります。