MVC 3 Razor – Ajax.BeginForm OnSuccess
我是MVC的新手,我在提交表单后尝试更新我的页面; 但它不起作用。 我只是试图隐藏表单,并显示div OnSuccess的内容。
我的代码是:
$(document).ready(function () { $('#confirmation').hide(); }); function MessageConfirmation() { $('#confirmation').show('slow'); $('#contactForm').hide('slow'); } @using (Ajax.BeginForm("Index", new AjaxOptions { OnSuccess = "MessageConfirmation" })) { Thanks!!!
}
我们非常欢迎任何其他解决方案/想法。
提前致谢!
不工作是一个问题描述,更适合那些不了解/关心计算机如何工作而不是软件开发人员的人。 软件开发人员通常会准确描述他们遇到的问题。 他们发布了他们所拥有的确切错误消息/exception堆栈跟踪。
这就是说你要求替代解决方案,这是我的:不要使用任何MS Ajax.* helpers
,直接和不引人注意地使用jquery,就像这样
@using (Html.BeginForm()) { } Thanks!!!
请注意confirmation
段落是如何从表单中外部化的。
您确定项目中引用了所有正确的js文件吗? 在MVC3中,他们已经远离MS Ajax文件。 如果我没记错的话 – 默认情况下应该启用不显眼的javascript,所以你应该引用以下文件:jquery.js,jquery.validate.js,jquery.valudate.unobtrusive.js,jquery.unobtrusive-ajax.js
有了这些文件引用 – 你应该没问题。
PS Brad Wilson有一篇非常好的博客文章解释了MVC3中不显眼的ajax的细节,以及它是如何工作的。 请在此处查看: http : //bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-ajax.html
确保您可以使用您的操作方法。 还要添加一个失败处理程序,看看它是否也返回了失败。
必须启用不显眼的function,并且必须为MVC 3和razor添加MVC不引人注目的AJAX脚本。
HTH。
你可以使用JQuery触发器
$("#confirmation").trigger('click');
因为你在div上有一个onclick方法