Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 9th, 2012  |  syntax: None  |  size: 2.10 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Sending model data from Knockout back to MVC 3
  2. function partSummary(item) {
  3.             var self = this;
  4.             self.ID = ko.observable(item.ID);
  5.             self.serialNumber = ko.observable(item.SerialNumber);
  6.             self.description = ko.observable(item.Description);
  7.             self.manufacturer = ko.observable(item.Manufacturer);
  8.             self.creationDate = ko.observable(item.DateCreated);
  9.             self.active = ko.observable(item.IsActive);
  10.         }
  11.        
  12. self.savePart = function() {
  13.                 $.ajax("/PartKO/UpdatePart", {
  14.                     data: ko.toJSON(self.partDetails),
  15.                     type: "post",
  16.                     contentType: 'application/json',
  17.                     dataType: 'json'
  18.                 });
  19.             };
  20.        
  21. [HttpPost]
  22.     public JsonResult UpdatePart(PartDetail part)
  23.     {
  24.         var dbPart = new PartGenericAccessor();
  25.         dbPart.ID = part.ID;
  26.         dbPart.Load();
  27.         dbPart.Description = part.Description;
  28.         dbPart.IsActive = Convert.ToBoolean(part.IsActive);
  29.  
  30.         var manufacturers = ManufacturerAccessor.LoadAll<ManufacturerAccessor>();
  31.         if (part.Manufacturer != null)
  32.         {
  33.             var manufacturer = (from p in manufacturers where p.Name == part.Manufacturer select p.ID).First();
  34.             dbPart.ManufacturerID = manufacturer;
  35.         }
  36.  
  37.         dbPart.Save();
  38.  
  39.         return Json("Success!!");
  40.     }
  41.        
  42. public class PartDetail
  43. {
  44.     public PartDetail(Guid id, string serial, string description, string manufacturer, DateTime created, bool isActive)
  45.     {
  46.         ID = id;
  47.         SerialNumber = serial;
  48.         Description = description;
  49.         Manufacturer = manufacturer;
  50.         DateCreated = created.ToShortDateString();
  51.         IsActive = isActive.ToString(CultureInfo.InvariantCulture);
  52.  
  53.     }
  54.  
  55.     public Guid ID { get; set; }
  56.  
  57.     public string SerialNumber { get; set; }
  58.  
  59.     public string Description { get; set; }
  60.  
  61.     public string Manufacturer { get; set; }
  62.  
  63.     public string DateCreated { get; set; }
  64.  
  65.     public string IsActive { get; set; }
  66. }
  67.        
  68. public class PartDetail
  69. {
  70.     public PartDetail()
  71.     { ...  }
  72. }