You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.Net MVC中JQuery无法读取ViewModel的ServiceCenter属性问题

解决"RIC is not defined" ReferenceError问题

问题根源很明确:你把字符串类型的@Model.ServiceCenter直接输出到JavaScript代码里时,没有给它加字符串引号。

比如你的Model里ServiceCenter值是RIC,渲染后的JS代码会变成:

terminalId: RIC

JavaScript会把RIC当成一个变量去查找,但你根本没定义过这个变量,所以就抛出了RIC is not defined的错误。而你硬编码'RIC'时,是标准的字符串字面量,JS能正确识别。

给你两个解决办法:

  • 直接给属性值加单引号/双引号:
    function additionalData()
    {
        return {
            employeeId: @Model.EmpId,
            terminalId: '@Model.ServiceCenter'
        }
    }
    
  • 更安全的方式是用框架自带的JSON序列化方法(避免特殊字符导致的语法错误):
    ASP.NET MVC用Json.Encode:
    terminalId: @Html.Raw(Json.Encode(Model.ServiceCenter))
    
    ASP.NET Core用Json.Serialize:
    terminalId: @Json.Serialize(Model.ServiceCenter)
    

这样渲染后的代码里terminalId的值会是带引号的字符串,JS就不会把它当成未定义的变量了。

内容的提问来源于stack exchange,提问作者Jacob R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 19:12:05