Обновить запись с помощью ajax в Entity Framework MVC

Я начинаю и пытаюсь обновить свою запись, используя вызов Ajax в Entity Framework MVC . Я idtoSearchуспешно, но не получаю std.FirstNameи std.LastNameна стороне контроллера. Как вы можете видеть в моем коде здесь

AjaxStudentController

[HttpPost]
    public ActionResult UpdateStudent(Student std, int idtoSearch) {
    using (StudentContext db = new StudentContext()) {
     Student updatestd = db.Student.Find(idtoSearch);
      if (!string.IsNullOrWhiteSpace(std.FirstName)) { updatestd.FirstName = std.FirstName; }
      if (!string.IsNullOrWhiteSpace(std.LastName)) { updatestd.LastName = std.LastName; }
        db.SaveChanges();
     }
       return Json(true, JsonRequestBehavior.AllowGet);
 }

и здесь вы можете увидеть ajax-код

<button class='upbtn' data-upid=" + stdid + ">Update</button>    
$(".upbtn").click(function () {
                        var student = {
                         "upFirstName" : $("#name").val(),
                         "upLastName" : $("#lname").val(),
                        }
                       $.ajax({
                           url: "/AjaxStudent/UpdateStudent",
                           method: "Post",
                           data: {
                               idtoSearch: upid,
                               std: student
                           }
                        }).done(function(){
                                alert("Update button");
                           }).
                           error(function () {
                               alert("Update Error");
                           });
                    });

Я не могу получить обновление в браузере. Кто-нибудь, пожалуйста, скажите мне, что мне делать.

ajax,asp.net-mvc,entity-framework-6,entity-framework-4,asp.net-ajax,

2

Ответов: 1


2

Я решил свою проблему. Я обновлял свои данные в неправильной переменной, т . Е. upFirstName& upLastName. Это была моя ошибка. Я должен обновить свои данные в одной и той же переменной, т . Е. FirstName& LastName. Просто напишите ниже код

var student = {
       "FirstName" : $("#name").val(),
       "LastName" : $("#lname").val(),
}

Вместо этого

var student = {
        "upFirstName" : $("#name").val(),
        "upLastName" : $("#lname").val(),
  }

Надеюсь, это будет полезно и вам.

Аякса, asp.net-MVC, сущность-рамка-6, сущность-рамка-4, asp.net-Аякс,
Похожие вопросы