调用Razor Page Post方法,使用Ajax进行弹出删除确认
我想使用jQuery UI对话框确认我的删除操作,我在互联网上尝试了一些教程,但是当单击删除确认按钮时,我仍然很难调用ONPOST DELETE ACTION页面 当我运行项目时,它没有调用我的帖子方法:
我有一个剃须刀页面方法(我只是复制具有关系的代码的一部分):
public class DeleteUserModel : PageModel
{
public InformationUserViewModel InformationUser { get; set; }
public void OnGet(int id)
{
ViewData["UserId"] = id;
InformationUser = _userService.GetUserInformation(id);
}
public IActionResult OnPost(int userId)
{
_userService.DeleteUser(userId);
return RedirectToPage("Index");
}
}
索引页面带有删除按钮:
@page
@model Fraud.Pages.Admin.IndexModel
<input type="button" value="Delete" class="btn btn-danger" onclick="deleteConfirm('@user.UserName', '@user.UserId')" />
在此页面中,我有弹出视图:
<div class="modal-body">
<div class="row">
<div class="form-group">
<div class="col-sm-12">
<span>
Are you sure you want to delete?
</span>
<strong id="deletedValueName">
</strong>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<input type="submit" class="btn btn-danger" value="Delete" onclick="deleteData()" />
</div>
</div>
和最后我的jQuery ajax:
<script type="text/javascript">
var deleteConfirm = function (val,id) {
$('#deletedValueName').text(val);
$('#id').val(id);
$('#delete-conformation').modal('show');
}
var deleteData = function () {
$('#divLoading').show();
var id = $('#id').val();
$.ajax({
type: "POST",
url: "/Admin/Users/DeleteUser?handler=Send",
// url: '/Admin/Users/DeleteUser/OnPost',
data: { UserId: id },
success: function (result) {
$("#delete-conformation").modal('hide');
},
error: function () {
$("#delete-conformation").modal('hide');
}
});
}
</script>
I want to use JQuery UI Dialog to confirm my delete action, I tried some tutorial on the internet but I still having trouble to call OnPost delete action page, when click on delete confirm button
when I run the project It doesn't call my post method :
I have a razor page method (I just copied part of the code that has relation) :
public class DeleteUserModel : PageModel
{
public InformationUserViewModel InformationUser { get; set; }
public void OnGet(int id)
{
ViewData["UserId"] = id;
InformationUser = _userService.GetUserInformation(id);
}
public IActionResult OnPost(int userId)
{
_userService.DeleteUser(userId);
return RedirectToPage("Index");
}
}
Index page with delete button on it:
@page
@model Fraud.Pages.Admin.IndexModel
<input type="button" value="Delete" class="btn btn-danger" onclick="deleteConfirm('@user.UserName', '@user.UserId')" />
in this page I have popup view :
<div class="modal-body">
<div class="row">
<div class="form-group">
<div class="col-sm-12">
<span>
Are you sure you want to delete?
</span>
<strong id="deletedValueName">
</strong>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<input type="submit" class="btn btn-danger" value="Delete" onclick="deleteData()" />
</div>
</div>
And at last my jquery ajax :
<script type="text/javascript">
var deleteConfirm = function (val,id) {
$('#deletedValueName').text(val);
$('#id').val(id);
$('#delete-conformation').modal('show');
}
var deleteData = function () {
$('#divLoading').show();
var id = $('#id').val();
$.ajax({
type: "POST",
url: "/Admin/Users/DeleteUser?handler=Send",
// url: '/Admin/Users/DeleteUser/OnPost',
data: { UserId: id },
success: function (result) {
$("#delete-conformation").modal('hide');
},
error: function () {
$("#delete-conformation").modal('hide');
}
});
}
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的ajax调用“/admin/users/deleteuser?handler = send” 。因此,您的处理程序需要被称为
onpostsend()
或 onpostSendAsync()。您的处理程序称为
OnPost()
,因此找不到。Your AJAX calls "/Admin/Users/DeleteUser?handler=Send". Therefore, you handler needs to be called
OnPostSend()
orOnPostSendAsync()
.Your handler is called
OnPost()
so it wasn't found.