Редактирование на месте в виде сетки - PullRequest
0 голосов
/ 14 марта 2019

Проблема в том, что я хочу отредактировать ячейку в таблице без обновления страницы, поэтому я решил использовать JSON с jQuery и использовал jeditable плагин.Однако после добавления кода я обнаружил, что когда я удаляю ячейку и перезаписываю в нее любое значение, она работает очень хорошо и сохраняет значение в базе данных, но проблема заключается в том, что я не удаляю значение и не добавляю к нему значение.буква или любой текст сохраняет старое значение без нового текста, поэтому я не знаю, в чем проблема.Я приложил оба кода C # и jQuery.

$(document).ready(function() {

    var oldValue = '';
    var submitdata = {}

    submitdata['fast'] = true;
    submitdata['pwet'] = 'youpla';

    $(".edit").editable("/ShiftTypes/saveuser", {

        type: "text",

        onedit: function() {
            return true;
        },


        cancel: 'Cancel',
        cssclass: 'custom-class',
        cancelcssclass: 'btn btn-danger',
        submitcssclass: 'btn btn-success',
        maxlength: 200,
        // select all text
        select: true,
        label: 'This is a label',
        onreset: function() {},
        onsubmit: function() {},
        showfn: function(elem) {
            elem.fadeIn('fast')
        },
        submit: 'Save',
        onsubmit: function(settings, original) {
            oldValue = original.revert;
            //Swal.fire({
            //    position: 'top',
            //    type: 'success',
            //    title: 'Your work has been saved',
            //    showConfirmButton: false,
            //    timer: 1500
            //});

        },


        before: function() {},
        callback: function(value, settings) {
            var jsonData = $.parseJSON(value);
            if (jsonData.status) {
                $(this).text(jsonData.value);

            } else {
                $(this).text(oldValue);
            }
        },
        submitdata: function() {
            return {
                id: $(this).data('id'),
                PropertyName: $(this).data('propertyname')
            }
        },
        /* submitdata as a function example
        submitdata : function(revert, settings, submitdata) {
            console.log("Revert text: " + revert);
            console.log(settings);
            console.log("User submitted text: " + submitdata.value);
        },
        */
        tooltip: "Click to edit...",
        width: 160
    });


})

Код для C # [ShiftTypesController / saveuser]:

[HttpPost]
public ActionResult saveuser(int id, string propertyName, string value) {
 var status = false;
 var message = "";

 //Update data to database 

 using(PaediatricDBEntities db = new PaediatricDBEntities()) {
  var user = db.ShiftTypes.Find(id);
  if (user != null) {
   db.Entry(user).Property(propertyName).CurrentValue = value;
   db.SaveChanges();
   status = true;
  } else {
   message = "Error!";
  }
 }

 var response = new {
  value = value, status = status, message = message
 };
 JObject o = JObject.FromObject(response);
 return Content(o.ToString());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...