【发布时间】:2010-03-31 06:53:15
【问题描述】:
我想使用 ajax 助手创建 ajax 请求,这些请求通过帖子发送额外的动态数据(例如,使用 class= blogCommentDateTime 获取最后一个元素并将最后一个元素的值发送到控制器,控制器将返回之后只有博客cmets)。
在 jQuery Form 插件的帮助下,我已经成功地做到了:
$(document).ready(function () {
$("#addCommentForm").submit(function () {
var lastCommentDate = $(".CommentDateHidden:last").val();
var lastCommentData = { lastCommentDateTicks: lastCommentDate };
var formSubmitParams = { data: lastCommentData, success: AddCommentResponseHandler }
$("#addCommentForm").ajaxSubmit(formSubmitParams);
return false;
});
此表单是使用 html.beginform() 方法创建的。
我想知道是否有一种使用 ajax.beginform() 帮助器的简单方法来做到这一点?
当我尝试使用相同的代码但将 html.beginform() 替换为 ajax.beginform() 时,当我尝试提交表单时,我发布了 2 个帖子(这是可以理解的,其中一个由helper,另外一个由我用上面的 JS。我不能创建 2 个请求,所以这个选项是 out)
我尝试摆脱 return false 并将 ajaxSubmit() 更改为 ajaxForm() 以便它只会“准备”表单,这只会导致一篇帖子,但它不包括我定义的额外参数,所以这也是毫无价值的。
然后我尝试保留 ajaxForm(),但只要点击表单上的提交按钮而不是提交表单时调用它(我想这几乎是同一件事),这也会导致 2 个帖子。
我问这个问题的最大原因是我在上面的 javascript 中遇到了一些问题,并使用了 mvc 框架提供的 mvc 验证(我将为此设置另一个问题)并且想知道这一点我可以进一步研究我的验证问题。
【问题讨论】:
-
您找到解决方案了吗?
标签: jquery asp.net-mvc html-helper