【发布时间】:2017-05-18 15:54:28
【问题描述】:
我使用 razor 语法和 javascript 在我的代码的两个位置创建对象数组。但是,一个出现错误,另一个没有。
这是没有出错的:
var tableItems = [
@foreach(var i in items)
{
<text>
{
"ItemID":@i.ItemID,
"ItemName":@i.ItemName,
},
</text>
}
];
下面是它在渲染时生成的javascript数组:
var tableItems = [
{
"ItemID":123000,
"ItemName":"An Item Name",
},
{
"ItemID":456000,
"ItemName":"Another Item Name"
}, /* comma here doesn't throw error */
];
这是另一个,下面的代码没有显示错误,但是呈现的却是:
var tableItemsTwo = [
@foreach (var i in items)
{
<text>
{
"ItemID": @i.ItemID,
"ItemName": @i.ItemName,
"Subitems":
@foreach (var s in i.Subitems)
{
<text>
{
"SubitemID":@s.SubitemID,
"SubitemName":@s.SubitemName
},
</text>
}
},
</text>
}
];
抛出错误的渲染数组:
var tableItemsTwo = [
{
"ItemID": 110000,
"ItemName": "Item One",
"Subitems":
{
"SubitemID":100,
"SubitemName":"Subitem One"
},
{ /* Error on this line: "Expected identifier, string or number" */
"SubitemID":200,
"SubitemName":"Subitem Two"
},
{
"SubitemID":300,
"SubitemName":"Subitem Three"
},
}, /* Error on this line: "Syntax error" */
];
如何修复tableItemsTwo?我正在使用 MVC 5。
【问题讨论】:
标签: javascript arrays razor