我正在使用带有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还没有太多的官方文档,我希望有人能告诉我我做错了什么以及如何解决它。
答案 0 :(得分:4)
问题似乎是您可能在代码块@{}
中包含脚本标记。
检查解析器并尝试几种不同的解决方法,如果你只是删除空格,你就可以了。 if (address.length<1)
奇怪的是,它适用于在MVC之外使用剃刀解析器的自定义应用程序。这可能需要一些工作才能找到真正的原因。实际上,一些更详细的测试表明它确实导致了解析器中的错误 - 我只是没有做任何特别的事我想说,谢谢你指出这一点。这是我必须解决的问题。
解析器经历了2到3之间的一些更改,因此这可能是这些更改引入的错误。