в ASP.NET MVC3 Razor @ Html.Raw (Json.Encode не вычисляет - PullRequest
2 голосов
/ 30 декабря 2011

Я только что обновил приложение ASP.NET MVC до версии 3.0 и Razor.

У меня на домашней странице следующий код:

   <script type="text/javascript">
        /*@cc_on@*/
        var LastUserSetting = @Html.Raw(Json.Encode(ViewData["LastUserSetting"] == "" ? "''" : ViewData["LastUserSetting"]));
    </script>

В браузере это выглядит так:

var LastUserSetting = @Html.Raw(Json.Encode(ViewData["LastUserSetting"] == "" ? "''" : ViewData["LastUserSetting"]));

Со следующим сообщением об ошибке:"ссылка на неопределенное имя XML @Html"

, что явно не то, что я хотел.

Чего мне не хватает?Что я сделал не так?

Большое спасибо!

Ответы [ 2 ]

5 голосов
/ 30 декабря 2011

Вы используете код Razor на главной странице WebForms. Это не работает. Синтаксис Razor работает только в представлениях Razor (cshtml или vbhtml)

Таким образом, вам нужно вернуться к использованию синтаксиса WebForms в этом мастере или перейти к использованию фактических представлений Razor.

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

Попробуйте разместить свой код бритвы в одинарных кавычках:

 <script type="text/javascript">
    /*@cc_on@*/
    var LastUserSetting = '@Html.Raw(Json.Encode(ViewData["LastUserSetting"] == "" ? "''" : ViewData["LastUserSetting"]))';
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...