3

我在我的 MVC 应用程序中使用 WebGrid,对于分页我正在使用此代码

  var links = $('a[href*=page], a[href*=sort]');
        form = $('form')[0];
        links.click(function () {
            debugger;
            form.attr("action", this.href);
            $(this).attr("href", "javascript:");
            form.submit();
        });

@using (Html.BeginForm(Model.PostToAction, "Leads", FormMethod.Post))

当 form.submit() 被执行时,它被执行为 GET 而不是 POST ,

我究竟做错了什么 ?

更新:

我的表格是:

<form action="/Leads/DetailsLeads" method="post">

控制器是:

 [HttpPost]
        public ActionResult DetailsLeads(LeadDetailsViewModel model)
4

1 回答 1

7

尝试e.preventDefault()在你的links.click(function(){}块内添加。没有这个,浏览器仍然会尝试执行您指示它执行的操作(单击链接上的 GET 请求)。

var links = $('a[href*=page], a[href*=sort]');
        form = $('form')[0];
        links.click(function (e) {
            e.preventDefault();
            debugger;
            form.attr("action", this.href);
            $(this).attr("href", "javascript:");
            form.submit();
        });
于 2012-11-29T15:31:59.240 回答