Asp.net mvc 4 未终止的字符串常量MVC4 Razor视图引擎

Asp.net mvc 4 未终止的字符串常量MVC4 Razor视图引擎,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,我正在开发MVC4应用程序(Razor引擎)。当我尝试从按钮调用js函数时,它会显示错误:- 未终止字符串常量 但是,它不会给出任何编译时或运行时错误,并且工作正常 但从观点上看,它清楚地表明了上述错误: 为什么会这样?Razor解析器很挑剔,在某些情况下,它无法正确解析语法或对语法进行颜色编码。你的代码会工作的 为了解决这个问题,您可以将代码的格式设置为解析器完全知道如何解决这个问题的方式。在所有Razor服务器端代码引用周围使用括号: <input type="button" id=

我正在开发
MVC4
应用程序(Razor引擎)。当我尝试从按钮调用js函数时,它会显示错误:-

未终止字符串常量

但是,它不会给出任何
编译时
运行时
错误,并且工作正常

但从观点上看,它清楚地表明了上述错误:


为什么会这样?

Razor解析器很挑剔,在某些情况下,它无法正确解析语法或对语法进行颜色编码。你的代码会工作的

为了解决这个问题,您可以将代码的格式设置为解析器完全知道如何解决这个问题的方式。在所有Razor服务器端代码引用周围使用括号:

<input type="button" id="btntest" value="Details"
     onclick="ABC('@(Item.TourApplicationID)', '@(Item.TourID)')" />

Visual Studio的哪个版本?错误不会消失。它仍然显示相同的错误..:(可能是他们在VS 2013的一次更新中修复了这个问题。可能是,但到目前为止我从未使用过VS 2013。@死锁,编辑了答案。这应该适用于VS 2012。因为这是一个bug。我在VS 2013更新3中测试了按钮的原始代码,没有收到错误或警告。
<input type="button" id="btntest" value="Details"
     onclick="@("ABC('" & Item.TourApplicationID & "', '" & Item.TourID & "')")" />
onclick="@(String.Format("ABC('{0}', '{1}')", Item.TourApplicationID, Item.TourID) )"