我有一些asp.net razor语法问题。我有这个JavaScript数组,想把它转换为razor语法:
var Vendors = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C"
];
要:
var Vendors = [
@For Each Vendor In ViewBag.VendorsList
@Vendor.Name + ","
Next
];
但是有一些错误,正确的方法是什么?很多。
答案 0 :(得分:4)
建议在其他地方处理您的数据,表示层最好只做一件事,UI。如果在客户端需要这个数组,那么你必须从C#代码(服务器端)返回它。否则,如果您在客户端有阵列并希望对其进行操作,只需将其发布到服务器并在那里进行处理。
你在这里想要完成的事情并不是很清楚。
答案 1 :(得分:0)
看起来你在服务器端变量中有一个值列表,你想把它作为一个数组注入到视图的JS代码中....
所以(我把这个盲目编码,所以可能需要一些调整)......
@{
List<script> mylist = ViewBag.VendorsList == null ? new List<script>() : (List<script>)ViewBag.VendorsList;
string delim = "";
}
<script>
var vendors = [
@foreach(var item in mylist) {
string theOutput = delim + "\"" + item + "\"";
delim = ","
<text>
@theOutput
</text>
}
];
</script>