Нужно передать исходные данные модели представления из ASP.NET MVC в Knockout.js

Я смотрел образец редактора контактов на th Сайт Knockout.js:

http://knockoutjs.com/examples/contactsEditor.html

Образец работает отлично, но мне нужно было внести в него два изменения:

  • Передать исходные данные из ASP. Метод действия контроллера NET MVC 3. Вот код с сервера:

Классы

public class Phone
{
    public string Type { get; set; }
    public string Number { get; set; }
}

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public List Phones { get; set; }
}

Образец кода стороны контроллера

       List phoneList = new List();

        Person p1 = new Person()
        {
            FirstName = "Abc",
            LastName = "Xyz"
        };

        Phone phone1 = new Phone()
        {
            Type = "Home",
            Number = "1111111111"
        };
        Phone phone2 = new Phone()
        {
            Type = "Mobile",
            Number = "1111111112"
        };

        phoneList.Add(phone1);
        phoneList.Add(phone2);

        p1.Phones = phoneList;

        List phoneList2 = new List();

        Person p2 = new Person()
        {
            FirstName = "Pqr",
            LastName = "Stu"
        };

        Phone phone3 = new Phone()
        {
            Type = "Home",
            Number = "1111111113"
        };
        Phone phone4 = new Phone()
        {
            Type = "Mobile",
            Number = "1111111114"
        };

        phoneList2.Add(phone3);
        phoneList2.Add(phone4);

        p2.Phones = phoneList2;

        people.Add(p1);
        people.Add(p2);

        ViewBag.InitialData = Json(people, JsonRequestBehavior.AllowGet);
  • Помимо строк контактов, которые являются частью ViewModel, мне также нужно передать некоторые данные (например, ContactListName и ContactListOwner), которые не t принадлежат рядам контактов, а самой ViewModel. Эти свойства будут отображаться за пределами сетки контактов.

Буду признателен, если кто-нибудь поможет мне с этим.

6
задан Yasir 11 March 2012 в 20:07
поделиться