Ajax.BeginForm使用与注意点 IN MVC
2015-08-10 17:29
225 查看
对于才接触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中添加了如下段:
并在View中做了引用,然后再在contorllers中使用JavaScript进行脚本的输出,结果成功了,看下图:
经过试验我发现JS的引用有些多余,然后做了一些删减,最终结果如下:
也就是说要实现Ajax.BeginForm的效果需要引用上图中的Js文件。
我看的很多贴中有很多没的提到这些,我估计这跟开发环境有关系,所以取舍还得看实际情况,请注意参考和自己的错误提示信息。
以上是此次解决Aajx.BeginForm使用问题的一些心得和一些技巧,本文到此结束;
转载请注明出自【不可理喻的小的的专栏】
引题:
在使用表单提交时有很多的方法(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使用问题的一些心得和一些技巧,本文到此结束;
转载请注明出自【不可理喻的小的的专栏】
相关文章推荐
- 选择、搜索国家码&数据库表转Json文件
- HDOJ-2009-求数列的和
- php如何将webp格式图片转为jpeg(ImageMagick+libwebp)
- Oracle Error Handling(Oracle 异常处理)
- C++中new是否进行初始化的问题
- LCS算法的概述及由来(LCS)最长公共子序列
- solr 的安装与使用、中文分词器的配置
- 软件系统架构中的分层思想
- windows 平台开发的JSP程序上传到linux要注意的事项
- iOS 国外 sdk 分享
- GPS Sensor Driver For Win7&Win8 For USB接口
- 通用券抢券的优化过程.
- iOS将汉字转换为拼音
- C#集合类型
- 【姿势】Android 和 Mac 爆毁灭级安全漏洞
- W25Q128的SPI 驱动
- 树结构练习——判断给定森林中有多少棵树
- java.lang.IllegalStateException: Optional int parameter 'currentSpecialIndex' is present but cannot
- Let the Balloon Rise
- BZOJ1006