如何在 ViewBag 列表字符串中使用 JavaScript 循环索引

How to use the JavaScript loop index in the ViewBag list string

我想使用 JavaScript 索引来获取 viewBag 列表的值。 但是我把两者结合起来是错误的。 谢谢指导

<script>
    for (var i = 0; i < @(Enumerable.Count(ViewBag.paramProperty)); i++) {
        select: `@(ViewBag.paramProperty[ + "${i}" + ]);
        var element = document.querySelectorAll(`[value="${select}"]`);
        element[0].setAttribute("checked", "checked");
    }
</script>

如果我理解你的代码,你正试图在 client-side 中使用 server-side 变量。 您可以尝试声明一个 javascript 变量“paramProperty”并将其值设置为 ViewBag.paramProperty 然后迭代它

首先,您需要确保JsonConvert.SerializeObject和ViewBag.paramProperty,例如:

ViewBag.paramProperty = JsonConvert.SerializeObject(new List<string> { "a", "b", "c" });

然后尝试设置一个js变量 ViewBag.paramProperty:

var paramProperty = @Html.Raw(JsonConvert.DeserializeObject(ViewBag.paramProperty));

你可以使用:

for (var i = 0; i < paramProperty.lenght; i++) {
        select: paramProperty[i];
        var element = document.querySelectorAll(`[value="${select}"]`);
        element[0].setAttribute("checked", "checked");
    }