ASP.NET MVC 4 Dev Preview Razor в разделах Ошибка - PullRequest
9 голосов
/ 17 декабря 2011

Ну, я думаю, что команда ASP.NET MVC выпустила довольно значительную ошибку в предварительном просмотре для asp.net mvc 4, или я делаю что-то глупое ... Вот проблема и шаги для воспроизведения.

  1. Создание нового мобильного приложения MVC 4
  2. создать новый раздел в макете (например, @RenderSection ("head", false))
  3. в действии контроллера просто выбросить сообщение в ViewBag
  4. затем в представлении, которое использует основной макет, добавьте следующий код ниже.
@section head {
    $(function() { 
        var newVariableName = "@(ViewBag.Message)";
    });
}

Вы заметите, что анализатор бритвы действительно думает, что раздел завершен для jquery на dom, загруженном конечной скобкой вместо конечной скобки раздела. Я попробовал точно такой же код в приложении asp.net MVC 3, и он работал без проблем.

Кто-нибудь еще сталкивался с этой ошибкой в ​​ASP.NET MVC 4 Developer Preview?

Ответы [ 2 ]

6 голосов
/ 19 декабря 2011

Быстрый способ решить эту проблему - использовать blocks вокруг java-скрипта. Вот как это может выглядеть, пока команда ASP.NET MVC не исправит эту ошибку.

@{
<text>
    $(function()
    {
        var newVariableName = "@(ViewBag.Message)";
    });
</text>
}
0 голосов
/ 20 декабря 2011

Как уже упоминалось выше, попробуйте это в вашем файле cshtml ...

@section head {
@{
    function JSMeth1()
    {
        // doing your stuff, razor parser wont suck
    }
}}
...