javascript - Visual Studio 显示错误

标签 javascript c# asp.net

我的 Javascript 中有一个函数,它会导致该函数和其他函数中出现错误,但代码编译得很好。如果我删除该函数,所有红色下划线错误都会消失。我尝试清理/重建/重新启动计算机,但没有任何变化。 这是函数

<script type="text/javascript">
function verifyRange(name, date, currentValue) {
    switch (name) {
        case "FC_OAT":
        case "Forecast Air Temp. (°C)":
            if (currentValue != null && currentValue < <%=ConfigurationManager.AppSettings["MinOAT"]%> || currentValue > <%=ConfigurationManager.AppSettings["MaxOAT"]%>)   {                     
                   createAnnotation("Forecast Air Temp. (°C)","Forecast Air Temp. (°C)" + " \n<%=GetGlobalResourceObject(Session["culture"].ToString(),"OutOfBounds") %>\n[MIN:<%=ConfigurationManager.AppSettings["MinOAT"]%>, MAX:<%=ConfigurationManager.AppSettings["MaxOAT"]%>] \n<%=GetGlobalResourceObject(Session["culture"].ToString(),"ValueIs") %> " + currentValue + "°C",date);                   
            }
        break*;*
        *case* "OAT":
        case "Air Temp. (°C)":
            if (currentValue != null && currentValue < <%=ConfigurationManager.AppSettings["MinOAT"]%> || currentValue > <%=ConfigurationManager.AppSettings["MaxOAT"]%>)   {                     
                   createAnnotation("Air Temp. (°C)","Air Temp. (°C)" + " \n<%=GetGlobalResourceObject(Session["culture"].ToString(),"OutOfBounds") %>\n[MIN:<%=ConfigurationManager.AppSettings["MinOAT"]%>, MAX:<%=ConfigurationManager.AppSettings["MaxOAT"]%>] \n<%=GetGlobalResourceObject(Session["culture"].ToString(),"ValueIs") %> " + currentValue + "°C",date);                   
            }
            break;
        default:
            break;
    }
}

*;* 出现错误:不能在循环之外有“break”

*案例*出现错误:预期为“}”

在这个函数之后我有这个代码

 $(document).ready(function *(*) {           
   alert('hello');
 }*)*;
 </script>

*(* 出现错误:预期标识符

*)* 出现错误:语法错误

当然,**是用来显示红色下划线是由Visual Studio完成的,我的代码中没有这个。

我的问题是:有没有办法在 if 中包含服务器标签而不破坏 Visualstudio?这样做是一种不好的编码方式吗?

最佳答案

尝试重构您的代码,以便将服务器值分配给 js 变量并在 if 语句中替换它们:

    var minOAT = <%=ConfigurationManager.AppSettings["MinOAT"]%>;
    var maxOAT = <%=ConfigurationManager.AppSettings["MaxOAT"]%>;
    var outOfBoundsString = "<%=GetGlobalResourceObject(Session["culture"].ToString(),"OutOfBounds") %>";
    var valueIsString = "<%=GetGlobalResourceObject(Session["culture"].ToString(),"ValueIs") %>";

    if (currentValue != null && (currentValue < minOAT || currentValue > maxOAT))   {                     
          createAnnotation(
             "Forecast Air Temp. (°C)",
             "Forecast Air Temp. (°C) \n" + 
                 outOfBoundsString + "\n" +
                 "[MIN:" + minOAT + ", MAX:" + maxOAT + "]\n" + 
                 valueIsString + " " + currentValue + "°C", 
             date);
    }

这应该会使代码看起来不那么困惑,并且希望错误会消失。

关于javascript - Visual Studio 显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31440050/

相关文章:

javascript - 访问 JSON 中的值

c# - 返回结果后,控制流如何保留在异步方法范围内?这类似于变量的闭包吗?

c# - 带有奇怪字符的Visual Studio错误

asp.net - 如何从成员(member)提供商处获取用户/个人资料列表?

c# - .NET 4+ 中 get<object Name> 存储过程架构的优势?

javascript - 更深入地理解 Promise

javascript - Imacros 替换文本元素?

javascript - 如何让JQuery json函数在javascript之前运行

C# 针对 ARM : How to deserialize JSON?

c# - ClosestIndexOf 的最简单实现