【发布时间】:2012-11-29 14:56:42
【问题描述】:
我在我的 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)
【问题讨论】:
-
你可以试试这个:
form.attr("method","post"); -
您是否阅读了呈现的 HTML 以确认它是作为“发布”表单方法创建的?你能粘贴控制器声明吗?另外,我很清楚,您是否将操作 URL 更改为相应单击的链接的 href?
-
尝试在您的 links.click(function(){} 块中添加 e.preventDefault()。浏览器可能仍在尝试跟踪您单击的链接(GET 请求)
-
@Tommy:您应该将其作为可行的答案提交。
-
@JoelEtherton - 谢谢,我做到了。当我第一次遇到这个时我很着急(实际上是在寻找我正在做的事情的答案)!
标签: jquery asp.net-mvc asp.net-mvc-3 webgrid