Ошибка при отправке параметров на контроллер через @Url.Action в JQuery
Я работаю над MVC
проект, и я пытался отправить некоторые параметры на мой контроллер в JQuery
с помощью @Url.Action
,
HTML код:
<button class="btn btn-white btn-sm demo1" data-id='@item.TeamID'>Delete</button>
Код JQuery:
$(document).ready(function () {
$('.demo1').click(function (event) {
swal({
title: "Are you sure?",
text: "You will not be able to recover this team!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: false
}, function () {
var data = event.data;
var id = data.id;
var url = '@Url.Action("Delete", "Teams", new { id = "__param__" })';
window.location.href = url.replace('__param__', encodeURIComponent(id));
swal("Deleted!", "Your team has been deleted.", "success");
});
});
});
Однако метод "Удалить" в контроллере команд не запускается. Я что-то пропустил?
ОБНОВЛЕНИЕ: кнопка HTML находится внутри foreach
цикл:
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.TeamName)
</td>
<td>
@Html.DisplayFor(modelItem => item.TeamInits)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.TeamID }, new { @class = "btn btn-white btn-sm" })
<button class="btn btn-white btn-sm demo1" data-id='@item.TeamID'>Delete</button>
</td>
</tr>
}
2 ответа
Используйте свойство HTMLElement.dataset или .data()
читать обычай data-*
Значение префиксного атрибута.
$(document).ready(function () {
$('.demo1').click(function (event) {
var id = this.dataset.id;
//OR
var id = $(this).data('id');
//Rest of the code
swal();
});
});
Я обычно пробую ниже кодовый трюк. Когда что-то идет не так, как это.
Добавьте ниже код в вас Global.asax.cs
Файл и Поместите отладчик внутри метода, так что он будет срабатывать при возникновении исключения.
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
string ex = exception.Message; // Here you will get to know what is going wrong
}
Сообщение об исключении или трассировка стека предоставят достаточно информации для исправления ошибок.
Даже если его запрос с Jquery / Razor Html страницы ошибки, у вас будет достаточно информации.
Надеюсь это поможет!!!