调用Razor Page Post方法,使用Ajax进行弹出删除确认

发布于 2025-02-06 22:07:46 字数 2634 浏览 2 评论 0原文

我想使用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傲影 2025-02-13 22:07:46

您的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() or OnPostSendAsync().

Your handler is called OnPost() so it wasn't found.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文