Изменить пару вещей.
Сначала назначьте свой идентификатор или класс вашей кнопке. Второе удаление функции inline onclick
и использование функции ajax click
. Затем укажите тип запроса как сообщение.
$('#btnComment').click(function() {
var choiceId = $('#YourChoiceId').val();
$.ajax({
url: '/Survey/DoDetailSurvey',
data: { 'choiceId' : choiceId},
type: "post",
cache: false,
success: function (response) {
//do something with response
},
error: function (xhr, ajaxOptions, thrownError) {
alert('error occured');
}
});
});
Затем контроллер должен выглядеть следующим образом
[HttpPost]
public ActionResult DoDetailSurvey(string choiceId)
{
//
}
Я не знаю, как вы заселения вашего ViewModel, поэтому я намеренно удалил их и показал рабочий пример.
В случае, если вы хотите передать ViewModel вы должны построить свои данные объекта, как это:
var data = {};
data.Property1 = some val;
data.Property2 = "some val";
$.post('/Survey/DoDetailSurvey', data);
Примерная структура SurveyViewModel Я предполагаю:
public class SurveyViewModel
{
public int Property1 { get; set; }
public string Property2 { get; set; }
}
Спасибо! Я получаю это – binhhtse
Я так пробовал, но он по-прежнему недействителен, предупреждает: произошла ошибка – binhhtse
use 'JSON.Stringify' –