В 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.У него также было много атрибутов, которые были условно скомпилированы и / или заполнены.Например:
<div class="something @myHelper(someFlag)"></div>
<div @{ isSomeFlag ? <text>class="asdf"</text> : "" }></div>
Мое решение следует считать временным исправлением.