stavo guardando il campione Contatti Editor sul sito knockout.js:bisogno di passare dati iniziali ViewModel da ASP.NET MVC a knockout.js
http://knockoutjs.com/examples/contactsEditor.html
L'esempio funziona perfettamente, ma avevo bisogno per apportare due modifiche:
- Passare i dati iniziali dal metodo di azione del controller ASP.NET MVC 3. Ecco il codice dal server:
Classi
Esempio codice lato controller
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);
- Oltre a filari di contatti che fanno parte del ViewModel , Ho anche bisogno di passare alcuni dati (ad esempio ContactListName e ContactListOwner) che non lo fa appartenere alle file di contatti ma al ViewModel stesso. Queste proprietà verranno mostrate all'esterno della griglia dei contatti.
Sarei davvero grato se qualcuno mi può aiutare con questo.
ciò che fa il 'ViewBag.InitialData' contiene puoi pubblicare il codice del controller? intendi utilizzare 'ViewBag.InitialData' in' ko.applyBindings (nuovo ContactsModel (initialData)); '? – Rafay
Grazie @ 3nigma per la tua risposta. Ho aggiunto il codice lato controller nella mia domanda. E sì, ho intenzione di utilizzare ViewBag.InitialData in ko.applyBindings (nuovo ContactsModel (initialData)) se possibile. – Yasir