Ajax.BeginForm使用与注意点 IN MVC

前端之家收集整理的这篇文章主要介绍了Ajax.BeginForm使用与注意点 IN MVC前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

对于才接触MVC不久的我来说自己的写一个MVC的练习项目将会遇到多少问题,这是可想而知的;然而今天就遇到了一个,写下分享一下。

引题:

在使用表单提交时有很多的方法(HTML.BeginForm/Ajax.BeginFrom),开始我使用了HTML.BeginFrom成功的解决了三分之一的问题(核心部分,这是一个简单的用户登陆功能),在完成三分之二时需要一些友好的提示,这时就需要返回一些JavaScript脚本(我选择在服务器端返回);这时问题来了,如下图:


因为是新手,在网上找了些博客、问题的资料,分享一下,这些资料中有怎么使用Ajax.BeginFrom的说明,我也就不再阐述了,如下:

http://blog.csdn.net/xxglyy/article/details/7948470

http://www.blackbeltcoder.com/Articles/script/using-ajax-beginform-with-asp-net-mvc

上面这些讲的都很好,有重点。

看完这些以后我并没有成功,但有一篇文章给了我点启发,说在浏览器的调试中说“Jquery is undefined”,这时我也去看了Js的高度信息,果然也有一个错误错误提示为”Sys Is undefined“,然后根据这条信息找到了下面这一篇文件

http://stackoverflow.com/questions/1035663/asp-net-mvc-ajax-sys-is-undefined-error

并看下如下图中的信息时我进行了安装,感觉有点谱


为了保险并加上了“~/Scripts/jquery.unobtrusive-ajax.js",这个JS在项目里面是包含了,所以直接引用就行,如果没有也可以使用NuGet安装,但上面提到的两个(MicrosoftAjax、MicrosoftMvcAjax.Mvc 5)在我找过的文章里面都没的提到过,这也是使用Ajax.BeginForm没有成功的原因,根据上图中的说明在BundleConfig中添加了如下段:

            bundles.Add(new ScriptBundle("~/Scripts/AjaxBeginForm")
                    .Include("~/Scripts/MicrosoftAjax*","~/Scripts/MicrosoftMvcAjax*","~/Scripts/MicrosoftMvcValidation*","~/Scripts/mvcfoolproof*","~/Scripts/MvcFoolproofJQueryValidation*","~/Scripts/jquery.unobtrusive-ajax.js","~/Scripts/MvcFoolproofValidation*"));

并在View中做了引用,然后再在contorllers中使用JavaScript进行脚本的输出,结果成功了,看下图:

经过试验我发现JS的引用有些多余,然后做了一些删减,最终结果如下:

bundles.Add(new ScriptBundle("~/Scripts/AjaxBeginForm")
                    .Include("~/Scripts/MicrosoftAjax*","~/Scripts/MicrosoftMvcAjax*"));

也就是说要实现Ajax.BeginForm的效果需要引用上图中的Js文件

我看的很多贴中有很多没的提到这些,我估计这跟开发环境有关系,所以取舍还得看实际情况,请注意参考和自己的错误提示信息。

以上是此次解决Aajx.BeginForm使用问题的一些心得和一些技巧,本文到此结束;


转载请注明出自【不可理喻的小的的专栏】

原文链接:https://www.f2er.com/ajax/163043.html

猜你在找的Ajax相关文章