Творческие способы преобразования коллекции объектов в массив JavaScript в C # - PullRequest
1 голос
/ 19 июня 2009

У меня есть список пользователей List<Users>, и мне нужно сделать массив javascript из всех идентификаторов пользователей.

Я знаю, что могу вручную скомпилировать это с помощью строителя строк и выполнить цикл, а затем сохранить его в переменной и показать на моей странице просмотра asp.net-mvc.

Есть еще какие-нибудь более креативные способы сделать это?

Ответы [ 3 ]

5 голосов
/ 19 июня 2009

JsonConvert.SerializeObject, от Json.NET .

Упрощенный пример ниже .:

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 голос
/ 19 июня 2009

также вы можете сделать это так

var jsArray = String.Format("var userIds=new Array({0});", String.Join(",", users.Select(x =>x.UserId.ToString()).ToArray()))
1 голос
/ 19 июня 2009

вы можете конвертировать в JSON, используя Json (список), а затем анализировать его в своем JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...