2016-10-19 2 views
0

Я пытаюсь создать запрос linq для обновления & Я генерирую таблицу с помощью jQuery, поэтому после обновления, как мне сохранить изменения в данных в таблице?Обновить данные linq в таблице jquery

[WebMethod] 
    public static string updateselect_data(int ServiceID, string frequency, string Freq_Du, string Freq_Mil) 
    { 
     string query_update = ""; 
     try 
     { 
      Track_Data track = new Track_Data(); 
      DataTable dt = new DataTable(); 
      var update = 
       from p in track.Serv 
       where p.ServiceID == ServiceID 
       select p; 

      foreach (var q_update in update) 
      { 
       q_update.frequency= frequency; 
       q_update.Freq_Du= Freq_Du; 
       q_update.Freq_Mil= Freq_Mil; 
      } 

      HttpContext.Current.Session["SID"] = ServiceID; 
      HttpContext.Current.Session["frequency"] = frequency; 
      HttpContext.Current.Session["Freq_Du"] = Freq_Du; 
      HttpContext.Current.Session["Freq_Mil"] = Freq_Mil; 

      try 
      { 
       track.SaveChanges(); 
      } 
      catch (Exception e) 
      { 
       throw new Exception(); 

      } 
      update.ToList().ForEach(row => dt.LoadDataRow(new object[] { 
      row.ServiceID, row.Frequency, row.Freq_Du, row.Freq_Mil }, false)); 

      query_update = DataSetToJSON(dt); 
      return query_update; 

     } 
     catch 
     { 
      throw new Exception(); 
     } 

Jquery КОД

<script type="text/javascript"> 
    debugger; 
    $(function() { 
      $('[ID*=btn_update]').on('click', function() { 
      var ServiceID = '<%=Session["SID"]%>'; 
      var frequency='<%=Session["frequency"]%>'; 
       var Freq_Du = '<%=Session["Freq_Dur"]%>'; 
       var Freq_Mil = '<%=Session["Freq_Mil"]%>'; 
      debugger; 
      var obj = {}; 
      obj.ServiceID = ServiceID; 
      obj.frequency = frequency; 
      obj.Freq_Dur= Freq_Du; 
      obj.Freq_Mil = Freq_Mil; 

      updatedata(obj); 

     }); 
    }); 
    function updatedata(obj){ 
     $.ajax({ 
      type: "POST", 
      url: "Maintenance.aspx/updateselect_data", 
      contentType: "application/json;charset=utf-8", 
      data:"{'SID:'"+ obj.ServiceID+"','frequency:'"+obj.frequency+"','Freq_Du:'"+obj.Freq_Du+"','Freq_Mil:'"+obj.Freq_Mil+"'}", 
      dataType: "json", 
     success:function(result) 
     { 
      debugger; 
      var up = JSON.parse(result.d).response; 

     } 
    }); 
    } 

</script> 

я создать таблицу throgh JQuery Теперь первый я хочу, чтобы обновить и хотите проверить в консоли теперь, когда я делать выше код этого показать ошибку сек

Недопустимый объект, передающийся в JSON

+2

Сообщение об ошибке громко и ясно, вы должны инициализировать эти переменные 'ServiceID, Service_frequency, Next_Service' – Satpal

+0

Попробуйте что-то вроде этого: update.ToList() ForEach (строка => dt.LoadDataRow (новый объект [. ] {row.ServiceID, row.frequency, row.Freq_Du, row.Freq_mil}, false)); – jdweng

+0

this show error Неверный объект, переданный в JSON @jdweng –

ответ

0

Вы указали следующее, но не присвоили никакого значения.

int ServiceID ; 
string Service_frequency; 
string Next_Service; 

Например,

int ServiceID = 1 ; 
string Service_frequency = "Weekly"; 
string Next_Service = "Tomorrow"; 
+0

проверить обновление i dont want to hard code values ​​ –

+1

Вы также полностью изменили код, вопрос, ошибку и ответ. Если на ваш предыдущий вопрос был дан ответ, и теперь у вас есть еще одна проблема (что вы делали и делаете), вы должны задать другой вопрос, а не полностью реорганизовать свои, чтобы соответствовать текущей позиции. – ChrisBint

+0

ОК, как я переделал свой вопрос? –