Как сериализовать класс C # в Javascript на Response? - PullRequest
0 голосов
/ 08 марта 2012

У меня есть такой класс:

public class Person
{
    public string Address { get; set; }
    public string Name { get; set; }
    public string Surname { get; set; }

    public Person()
    {

    }
}

на стороне сервера, я заполняю некоторые экземпляры этого класса и добавляю их в IEnumerable<Person>.Что ж, теперь на стороне клиента я бы хотел получить эту коллекцию в виде javascript (json?), Как это происходит с веб-сервисами и сериализацией.([Serializable()])

Как я могу сделать это в обычном ответе после запроса веб-формы в .NET 3.5?

Ответы [ 2 ]

2 голосов
/ 08 марта 2012

Вы можете использовать Json.net :

List<Person> persons = new List<Person>();
persons.Add(new Person() { Address = "5 Foo Street", Name = "Fed", Surname = "Fish" });
persons.Add(new Person() { Address = "10 Bar Road", Name = "Joe", Surname = "Smith" });

string output = JsonConvert.SerializeObject(persons);
1 голос
/ 08 марта 2012

Вы можете использовать JavaScriptSerializer для сериализации объекта в JSON.

Или, что еще лучше, создайте WebService , помеченный ScriptService .

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class SimpleWebService : System.Web.Services.WebService 
{
    [WebMethod]
    public string GetServerTime() 
    {
        string serverTime =
            String.Format("The current time is {0}.", DateTime.Now);

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