2015-12-09 4 views
1

У меня есть таблица, где пользователям разрешено «галочку» или «пересекать» строку. При нажатии строки значение status соответствует «Утверждено», и его переключение изменяет его на «Отклонено». В настоящее время я использую Edit scaffold для его выполнения. Как это сделать, не перенаправляя пользователя на представление. Я просто хочу, чтобы пользователь щелкнул его, и страница обновилась, а значение status было обновлено.MVC Button Click выполняет действия без перенаправления

Я не уверен, какой код следует размещать здесь, так как я не знаю, как его написать. Если какая-либо часть моей программы требуется, сообщите мне. Я включу его здесь. Спасибо:>

+0

Вы можете использовать Ajax, чтобы отправить обновленное значение для метода контроллера, который сохраняет его в базу данных, и в обратном вызове , обновите DOM. –

ответ

0
  1. Добавить классы css в 2 кнопки «одобрить-btn» и «reject-btn».
  2. Создать функцию яваскрипта утверждать и отклонять и привязать их к на 2 класса
  3. Создать 2 функции внутреннего интерфейса
  4. пасов Ajax звонки из функций JS к вашим серверным функциям, проходящих идентификатор элемента строки
  5. В «успех:» вызова ajax управляет изменением статуса, чтобы показать «одобренный» или «отклоненный»

Чтобы сделать ajax-вызов, вы можете использовать следующий пример (хотя в Google есть несколько примеров) , Поскольку вы изменяете данные, вы должны использовать POST-вызов, и поскольку это вызов POST, вы должны добавить RequestVerificationToken для предотвращения атак CSRF.

function Approve(id){ 
    securityToken = $('[name=__RequestVerificationToken]').val(); 
    $.ajax({ 
     url: '/YourControllerName/Approve/' + itemId, 
     type: 'POST', 
     data: { 
      "__RequestVerificationToken": securityToken 
     }, 
     success: function (data) { 
      if (data == 'success') 
       //use jQuery to show the approved message; 
      else 
       alert("something went wrong");     
     }, 
     error: function (request, err) { 
      alert("something went wrong"); 
     } 
    }); 
} 

токен должен быть создан в представлении, добавив следующую строку:

@Html.AntiForgeryToken() 
+0

Как сделать ajax-вызовы из JS-функций? : Извините, потому что я только начал MVC, и я не знаком с Javascript –