2014-02-13 3 views
0

Когда я собираюсь обновлять данные, он предупреждает меня об ошибке «Status = Problem: Fail to Update Client Info». Я запустил этот код без db.Update (ci); кода, даже без кода обновления, он показывает мне «успешно обновлено». Но когда я использую метод обновления, он не выполняется. где проблема я не могу определить .... Вот мой контроллер код ..Почему мои данные не обновляются в mvc4?

public ActionResult Update(ClientInfo client, string id) 
     { 
      //Response.Write("Id : " + id + "<br>"); 
      //Response.Write("Country : " + client.Country + "<br>"); 
      try 
      { 
       //if (ModelState.IsValid) 
       //{ 

        ClientInfo ci = db.Single<ClientInfo>("Where CId=" + id); 
        if (ci != null) 
        { 
         ci.CName = client.CName.ToString(); 
         ci.CCName = client.CCName.ToString(); 
         ci.Address = client.Address.ToString(); 
         ci.PhoneNo = Convert.ToInt32(client.PhoneNo.ToString()); 
         ci.Fax = client.Fax.ToString(); 
         ci.Email = client.Email.ToString(); 
         ci.Country = client.Country.ToString(); 
         ci.PostalCode = Convert.ToInt32(client.PostalCode.ToString()); 
         //ci.Update(); 
         db.Update(ci); 
         return Json(new { msg = "Successfully Updated."}); 
        } 
        else 
         return Json(new { msg = "Fail to Update Client Info." }); 
       //} 

       //return RedirectToAction("Index"); 
      } 
      catch 
      { 
       return Json(new { msg = "Problem : Fail to Update Client Info." }); 
      } 
     } 

И мой скрипт для отправки данных на сервер

$('#btnUpdate').click(function() { 
      var CId = $("#CId").val(); 
      var CName = $("#CName").val(); 
      var CCName = $("#CCName").val(); 
      var PhoneNo = $("#PhoneNo").val(); 
      var Fax = $("#Fax").val(); 
      var Email = $("#Email").val(); 
      var Address = $("#Address").val(); 
      var PostalCode = $("#PostalCode").val(); 
      var Country = $("#Country").val(); 

      var client1 = { 
       "CId": CId, 
       "CName": CName, 
       "CCName": CCName, 
       "PhoneNo": PhoneNo, 
       "Fax": Fax, 
       "Email": Email, 
       "Address": Address, 
       "PostalCode": PostalCode, 
       "Country": Country 
      }; 

      var lk = "/Clients/Update/" + CId; 
      //alert("Test : Update " + lk + "\n" + client1.Country); 
      client = JSON.stringify(client1); 

      $.ajax({ 
       url: lk, 
       type: 'POST', 
       data: client, 
       dataType: "json", 
       success: function (data) { 
        alert("Status = " + data.msg); 
       }, 
       error: function (data) { 
        alert("Error = " + data.msg); 
       } 
      }); 

ответ

1

Вы не проходя ваши данные правильно. Ваша ссылка также неверно создана. Так как вы передаете два объекта на ваш взгляд, лучше указать как в объекте ajaxdata:

var lk = "/Clients/Update/"; // => removed the CId 
//alert("Test : Update " + lk + "\n" + client1.Country); 
client = JSON.stringify(client1); 

$.ajax({ 
     url: lk, 
     type: 'POST', 
     data: { client: client, id = CId } // => added an object containing all the expected parameters 
     dataType: "json", 
     success: function (data) { 
      alert("Status = " + data.msg); 
     }, 
     error: function (data) { 
      alert("Error = " + data.msg); 
     } 
}); 
+0

Не показывать какую-либо ошибку, но не обновляется .. BOSS – MNAH

Смежные вопросы