我收到意外的标识符错误,我不确定是什么原因引起的。这是我设置“ 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; }
}
这是显示错误的控制台
为什么会收到此错误消息?如果我删除“ ItemID”字段,则在脚本末尾会看到一个不可见的“意外标识符”。所以我不确定myData的问题是什么?
答案 0 :(得分:1)
评论正确。您正在尝试在剃刀中生成一些JavaScript。 假设您有此代码,并且someString是值为“ some String”的字符串。如果你的剃刀是这个
var myString = @someString;
然后将其呈现
var myString = some String;
这是无效的javascript。要解决此问题,您需要使用引号。像这样
var myString = '@someString';
然后呈现
var myString = 'some String';
这是有效的javascript。
当值将是字符串时,仅使用引号。显然不要理会数字,布尔值等。