ASP.NET MVC Razor - выполнение JavaScript прерывается при выдаче переменных C # - PullRequest
0 голосов
/ 27 декабря 2011

Я обновил MVC3 proj до MVC4, и кажется, что некоторые функции javascript не вызывают после того, как я выпустил C # в Razor.

<script type="text/javascript">
$(function () {
    var obj = @(Html.Raw(Model.InterestsJson)) ;

    alert('This is never called.');
}); 
</script>

Когда я извлекаю испущенную строку из моего Model.interestsJson, функции javascript работают нормально.

<script type="text/javascript">
$(function () {
    var obj = [{ "Id": 1, "Name": "Sports" }, { "Id": 2, "Name": "Entertainment" }];
    alert('This will now be called'); 
}); 
</script>

Что странно, это работало, пока я не обновил проект до MVC4.

Первым делом я проверил ошибки js, но ничего не выдало исключение.

Есть идеи?

1 Ответ

1 голос
/ 27 декабря 2011

Оператор @(Html.Raw(Model.InterestsJson)) выдает недопустимый код JS, поэтому следующий оператор не может быть проанализирован.Откройте исходный код страницы и проверьте, что с ним не так.

Возможно, это должно решить проблему.

@{ Html.Raw(Model.InterestsJson); }
...