xmfdsh这几天遇到这么一个问题,在MVC中通过model模型生成的强类型视图的表单,在提交后的回调函数并没有发挥作用。如下图:
如上图,无论是通过Ajax.BeginForm或者Html.BeginForm都好,在new AjaxOptions中怎么设置OnSuccess函数都好,都无法去访问到js的Success函数,无论在服务器端调试还是在浏览器里面调试js都无法按照我的意思去执行Success函数,之前在一些项目中也有遇到,很郁闷,这次是下定决心搞定它了。在提交的后台是没有问题的。
网上关于asp.net MVC的资料还是比较少的,特别是xmfdsh我这个问题的资料,几乎没有。
于是让我再次去分析到底这个表单提交到哪里了,截图如下:
提交后自动生成的那个强类型视图竟然不见了,整个页面仅仅显示后台提交过来的字符串数据,这是怎么回事??不符合Ajax的提交方法啊,怎么会整个表单提交后有种进入了别的页面的感觉。于是便感到了MVC的Ajax机制并没有成功的使用出来。
后来经过各种尝试终于知道这个MVC的确是支持Ajax机制的,但是还需要我们去引入一些js文件,而这些文件在Scripts文件便已经有了
其实在BundleConfig.cs里面已经为我们打包好了这些文件,我们只需在视图中引入@Scripts.Render("~/bundles/jqueryval"),便可以了,只是在生成强类型视图的时候,我对它进行了比较大的改动,因此漏了这部分的js,才导致无法执行回调的js函数,就这么点东西花了xmfdsh1天的时间啊,于是在这里给大家提个醒啊,不要因此而浪费大量的时间。