Razor“标签缺少一个名字”

时间:2010-11-10 14:23:08

标签: javascript jquery asp.net-mvc asp.net-mvc-3 razor

我正在使用带有MVC3 RC1和Razor的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)”上收到Parser错误:“标记缺少名称。所有标记必须在'&lt;'之后包含有效的标记名称字符“

我尝试在代码块周围使用<text></text>,但我仍然遇到同样的错误。由于Razor还没有太多的官方文档,我希望有人能告诉我我做错了什么以及如何解决它。

1 个答案:

答案 0 :(得分:4)

问题似乎是您可能在代码块@{}中包含脚本标记。

检查解析器并尝试几种不同的解决方法,如果你只是删除空格,你就可以了。 if (address.length<1)

奇怪的是,它适用于在MVC之外使用剃刀解析器的自定义应用程序。这可能需要一些工作才能找到真正的原因。实际上,一些更详细的测试表明它确实导致了解析器中的错误 - 我只是没有做任何特别的事我想说,谢谢你指出这一点。这是我必须解决的问题。

解析器经历了2到3之间的一些更改,因此这可能是这些更改引入的错误。