我有一個令人討厭的問題,我想解決。在我的頁面上,我有一些Javascript,我需要通過SignalR發送/接收消息。 THat頁面的工作原理與此相似,但在VS2012 IDE中,我始終會在代碼中發出關於語法錯誤的警告。這是我認爲的代碼:ASP.NET MVC4,Javascript中的Razor:頁面運行但語法錯誤VS2012
$(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);
分號這是一個錯誤還是我我錯過了重要的事情?當我在第二個插入一個閉幕式的括號時,腳本不再工作。謝謝你的幫助!
更新:這個簡單的例子顯示了同樣的錯誤:當你混合C#和JavaScript
if (1 == @ViewBag.StationId)
{
alert("Test!");
}
試試這個 - if(StationId.toString()== @ ViewBag.StationId) – Amit