"Тег отсутствует имя" с Razor - PullRequest
4 голосов
/ 10 ноября 2010

Я использую движок представления Razor с MVC3 RC1 и Razor и запускаю с ним учебник NerdDinner.

У меня есть частичное представление, которое содержит некоторую разметку, за которой следует фрагмент кода Javascript:

<script type="text/javascript">
    $(document).ready(function () {
        $("#Address").blur(function (evt) {
            $("#Latitude").val("");
            $("#Longitude").val("");

            var address = jQuery.trim($("#Address").val());
            if (address.length < 1)
                return;

            FindAddressOnMap(address);
        });
    }); 
</script>

Я получаю сообщение об ошибке синтаксического анализа в теге "if (address.length < 1)": "отсутствует имя. Все теги должны содержать действительное имя тега после символа '<'" </em>.

Я пытался использовать <text></text> вокруг блока кода, но все равно получаю ту же ошибку.Поскольку для Razor еще не так много официальной документации, я надеюсь, что кто-нибудь сможет сказать мне, что я делаю неправильно и как это исправить.

1 Ответ

4 голосов
/ 10 ноября 2010

Похоже, проблема в том, что ваш скрипт-тег находится внутри блока кода @{}.

Проверка синтаксического анализатора и попытка нескольких вариантов обхода, если вы просто удалите пробел, все будет в порядке. if (address.length<1)

Странно, однако, что он работает в пользовательском приложении, которое использует анализатор бритвы вне MVC. Вероятно, потребуется определенная работа, чтобы найти реальную причину. На самом деле, более подробное тестирование показывает, что оно также вызывает ошибку в синтаксическом анализаторе - я просто не делаю ничего особенного, что я хочу сказать спасибо за указание на это. Это то, что я должен исправить.

В парсере произошли некоторые изменения между 2 и 3, так что это, вероятно, ошибка, внесенная в эти изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...