Javascript-控制台中出现意外的标识符错误消息

时间:2020-08-06 20:30:37

标签: javascript c# json

我收到意外的标识符错误,我不确定是什么原因引起的。这是我设置“ myData”的方法

var myData = {
   Id: @Model.Id,
   JobId: @Model.JobId,
   ItemId: @Model.ItemId, //error on this line in console
   ItemName: @Model.ItemName,
   MFGNumber: @Model.MFGNumber,
   Parts: partArray,
   Components: componentArray,
   ComponentParts: componentPartArray,
   ComponentSubComps: componentSubCompsArray,
   SubCompParts: subCompPartsArray,
   SubCompSubComps: subCompSubCompsArray,
   SubCompSubCompParts: subCompSubCompPartsArray
 }

这是我的itemViewModel的设置方式

 public class ItemViewModel
    {
        [Required]
        public int Id { get; set; }
        [Required]
        public int JobId { get; set; }
        public string ItemId { get; set; }
        public string ItemName { get; set; }
        public string MFGNumber { get; set; }
        public IList<ItemPartViewModel> Parts { get; set; }
        public IList<ItemComponentViewModel> Components{ get; set; }
        public IList<ComponentPartViewModel> ComponentParts { get; set; }
        public IList<ComponentSubCompViewModel> ComponentSubComps { get; set; }
        public IList<SubCompPartViewModel> SubCompParts { get; set; }

        public IList<SubCompSubCompViewModel> SubCompSubComps { get; set; }
        public IList<SubCompSubCompPartViewModel> SubCompSubCompParts { get; set; }

    }

这是显示错误的控制台

console

为什么会收到此错误消息?如果我删除“ ItemID”字段,则在脚本末尾会看到一个不可见的“意外标识符”。所以我不确定myData的问题是什么?

1 个答案:

答案 0 :(得分:1)

评论正确。您正在尝试在剃刀中生成一些JavaScript。 假设您有此代码,并且someString是值为“ some String”的字符串。如果你的剃刀是这个

var myString = @someString;

然后将其呈现

var myString = some String;

这是无效的javascript。要解决此问题,您需要使用引号。像这样

var myString = '@someString';

然后呈现

var myString = 'some String';

这是有效的javascript。

当值将是字符串时,仅使用引号。显然不要理会数字,布尔值等。