ASP.NET MVC4,Javascript中的Razor:页面运行,但VS2012中存在语法错误
我有一个烦人的问题要解决。在我的页面上,我有一些Javascript,我需要它们通过信号器发送/接收消息。该页面的工作方式与它应该的一样,但在VS2012 IDE中,我总是收到一条关于代码中语法错误的警告。在我看来,这就是代码:ASP.NET MVC4,Javascript中的Razor:页面运行,但VS2012中存在语法错误,javascript,asp.net-mvc-4,razor,syntax-error,syntax-highlighting,Javascript,Asp.net Mvc 4,Razor,Syntax Error,Syntax Highlighting,我有一个烦人的问题要解决。在我的页面上,我有一些Javascript,我需要它们通过信号器发送/接收消息。该页面的工作方式与它应该的一样,但在VS2012 IDE中,我总是收到一条关于代码中语法错误的警告。在我看来,这就是代码: $(function () { var usr = $.connection.paMessageHub; // I cut out the inner code of the following function
$(function ()
{
var usr = $.connection.paMessageHub;
// I cut out the inner code of the following function
$.connection.hub.start().done(function () { });
function sendValue = function (StationId, DataPointId, Value)
{
usr.server.sendValue(StationId, DataPointId, Value);
};
usr.client.updateValue = function (StationId, DataPointId, NewValue)
{
if (StationId == @ViewBag.StationId )
{
updateValues(StationId, DataPointId, NewValue);
}
};
我知道在最后一行的第二行中显然缺少了一个结束的花括号,但是当它完全像这样时,代码运行得非常完美。语法突出显示在的右括号中显示语法错误
if(StationId==@ViewBag.StationId)
并在行中的分号上写“')”预期“
updateValue(StationId、DataPointId、NewValue)代码>
这是一个错误还是我遗漏了一些重要的东西?当我在最后一个括号中插入一个结束的卷曲括号时,脚本不再工作。谢谢你的帮助
更新:此简化示例显示了相同的错误:
if ( 1 == @ViewBag.StationId )
{
alert("Test!");
}
有时候,当你混合使用C#和JavaScript时,razor会有点困惑。阅读这篇文章,它将解决你的疑问(它为我解决了)为什么razor会“感到困惑”有时razor会在混合C#和JavaScript时感到困惑。阅读这篇文章,它将解决你的疑问(它为我解决了)关于razor为什么会“困惑”试试这个-如果(StationId.toString()==@ViewBag.StationId)试试这个-如果(StationId.toString()==@ViewBag.StationId)