javascript - ASP.NET MVC4,Javascript 中的 Razor : Page runs but Syntax Error in VS2012

标签 javascript asp.net-mvc-4 razor syntax-error syntax-highlighting

我有一个烦人的问题想要解决。在我的页面上,我有一些通过 SignalR 发送/接收消息所需的 Javascript。该页面正常工作,但在 VS2012 IDE 中我总是收到有关代码中语法错误的警告。这是我 View 中的代码:

$(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)

并且还在该行的分号上写着“')'预期”

updateValues(StationId、DataPointId、NewValue);

这是一个错误还是我错过了一些重要的事情?当我在倒数第二个插入结束大括号时,脚本不再起作用。感谢您的帮助!

更新:这个简化的示例显示了相同的错误:

if ( 1 == @ViewBag.StationId )
{
    alert("Test!");
}

最佳答案

当你混合 C# 和 JavaScript 时,有时 razor 会有点困惑。阅读这篇文章它将解决您对 Razor 为何“感到困惑”的疑虑(对我来说是这样)http://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx

关于javascript - ASP.NET MVC4,Javascript 中的 Razor : Page runs but Syntax Error in VS2012,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17340310/

相关文章:

c# - 如何在 ASP.NET MVC 中集成 Skype for business 功能

javascript - Instagram API access_token 请求和 Access-Control-Allow-Origin

javascript - 是否适合将单击事件传递给提交处理程序?

php - 如何在表单中显示从数据库中取出的数据

jquery - 用ajax上传图片,HttpPostedFileBase为null Mvc Asp

asp.net-mvc - Url.Action 不输出 URL

javascript - .NET 和 javascript 之间的 64 位 int 差异

c# - 如何在编辑操作中使用ViewModel?

asp.net-mvc - 如何在asp.net mvc中获取多选下拉列表值

c# - 如何将参数传递给 jQuery document.ready() 函数(ASP.NET MVC、C#)