我有一个用户列表List<Users>
,我需要创建一个包含所有UserID的javascript数组。
我知道我可以使用stringbuilder手动构建它并循环,然后将其保存到变量并在我的asp.net-mvc视图页面上显示。
还有其他更有创意的方法吗?
答案 0 :(得分:5)
来自Json.NET的JsonConvert.SerializeObject。
以下简化示例:
using System;
using System.Linq;
using System.Collections.Generic;
using Newtonsoft.Json;
class Users
{
public string Name {get; set;}
public int UserID {get; set;}
public Users(string Name, int UserID)
{
this.Name = Name;
this.UserID = UserID;
}
}
List<Users> users = new List<Users>();
users.Add(new Users("John", 1));
users.Add(new Users("Mary", 2));
...
string json = JsonConvert.SerializeObject(from user in users select user.UserID);
}
答案 1 :(得分:1)
你可以使用Json(list)转换为JSON,然后在你的javascript
中解析它答案 2 :(得分:1)
你也可以这样做
var jsArray = String.Format("var userIds=new Array({0});", String.Join(",", users.Select(x =>x.UserId.ToString()).ToArray()))