Я смотрел на образец Контакты редактора на сайте knockout.js:нужно передать исходные данные ViewModel из ASP.NET MVC в knockout.js
http://knockoutjs.com/examples/contactsEditor.html
образец отлично работает, но мне нужно для внесения в него двух изменений:
- Передача исходных данных из метода действия контроллера ASP.NET MVC 3. Вот код с сервера:
Классы
Пример кода на стороне контроллера
List<Phone> phoneList = new List<Phone>();
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<Phone> phoneList2 = new List<Phone>();
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. Эти свойства будут показаны вне сетки контактов.
Я бы очень признателен, если кто-то может мне помочь.
что делает 'ViewBag.InitialData' содержит вы можете опубликовать код контроллера? вы намерены использовать 'ViewBag.InitialData' в' ko.applyBindings (new ContactsModel (initialData)); '? – Rafay
Спасибо @ 3nigma за ваш ответ. Я добавил код контроллера в свой вопрос. И да, я намерен использовать ViewBag.InitialData в ko.applyBindings (new ContactsModel (initialData)), если это возможно. – Yasir