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使用问题的一些心得和一些技巧,本文到此结束;


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值