我一直在尋找在knockout.js網站上的聯繫人編輯器示例:需要從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);
- 除了,我還需要傳遞一些數據(例如ContactListName和ContactListOwner)不屬於聯繫人行,而是屬於ViewModel本身。這些屬性將顯示在聯繫人網格之外。
我真的很感激,如果有人可以幫助我這個。
什麼是'ViewBag.InitialData'包含你可以發佈控制器代碼?你打算在'ko.applyBindings(new ContactsModel(initialData))中使用'ViewBag.InitialData';'? – Rafay 2012-03-11 17:31:54
謝謝@ 3nigma您的回覆。我在我的問題中添加了控制器端代碼。是的,如果可能的話,我打算在ko.applyBindings(new ContactsModel(initialData))中使用ViewBag.InitialData。 – Yasir 2012-03-11 18:50:33