gpt4 book ai didi

c# - 如何摆脱使用 Razor 填充的这个 Javascript 数组末尾的逗号?

转载 作者:行者123 更新时间:2023-11-30 12:33:43 25 4
gpt4 key购买 nike

我正在使用 Razor 将项目插入 Javascript 数组。它使用下面的代码按预期工作。但是,它会导致数组末尾多出一个逗号。有人可以建议一种方法来防止这种情况发生吗?

graphByMonth = new Array(

@foreach (var cost in Model.Cost) {
<text>
[@cost.CPM, '@cost.EndDate'],
</text>
}
);

最佳答案

在处理 javascript 时,你不应该使用任何字符串连接。如果你想将一些服务器端模型传递给 javascript 变量,你可以像这样对它进行 JSON 序列化,以确保正确转义危险字符:

var graphByMonth = @Json.Encode(Model.Cost.Select(cost => new {
cpm = cost.CPM, endDate = cost.EndDate
}));

将呈现为:

var graphByMonth = [
{ cost: '1', endDate: 'date 1' },
{ cost: '2', endDate: 'date 2' },
{ cost: '3', endDate: 'date 3' }
];

使用 Json.Encode 可以确保值被正确编码,并且不会有任何损坏的语法,如果您尝试使用一些字符串连接手动执行此操作,将会得到这样的结果、foreach 循环或其他任何内容。

关于c# - 如何摆脱使用 Razor 填充的这个 Javascript 数组末尾的逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8707844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com