- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ajax使用mvc
在ASP.NET MVC beta中我们可以使用Ajax.BeginForm, Ajax.ActionLink来进行Ajax调用,同样我们也可以使用一些支持Ajax 框架如jQuery来简化对ajax的调用。
1. ASP.NET MVC beta中内置了AJAX的支持,但是我们必须引入MicrosoftAjax.js, MicorsoftMvcAjax.js.
2. 由于ASP.NET MVC已经集成了jQuery,所以我们也可以很方便的使用jQuery的Ajax功能
上图的代码展示了前台的三种方式
(1)Ajax.BeginForm
这里涉及到如何附加表单之外的参数到远程,实际上我们只需要附加到post的url后就行了,例如把action改为AjaxGetJSON?name=jack,或者AjaxGetJSON/jack然后配置route就可以
? (2)? Ajax.ActionLink
附加参数和上面相同
? (3) jQuery.ajax
?????? 参看上图的GetByJquery()函数
3.后台代码
第一个直接返回Json数据,第二个,第三个都是通过用户控件来返回Html.
?
? public JsonResult AjaxGetJSON(Person p)
? {
???? Thread.Sleep(3000);
???? return this.Json(p);
? }
?
? public ActionResult AjaxGetString()
? {
???? Person p = new Person { FirstName = Bill, LastName = Gates };
???? return View(AjaxContent,p);
? }
?
? public ActionResult AjaxByJquery()
? {
???? Person p = new Person { FirstName = Bill, LastName = Gates };
???? return View(AjaxContent, p);
? }
?
4. AjaxContent用户控件内容
?
通过上面的方法,我们很容易模仿原来webservice方式的调用,把ajax的功能放到一个统一的controller里,比如叫AjaxServiceController.
这是第一使用Jquery实现城市三级数据联动的实例!之前本人没有使用过Jquery,在WebForm的开发过程中,很多时候用的是ASP.NET Ajax,ajaxPro +JavaScript,从未使用过JS框架,最近在学习ASP.NET MVC,在最新的发布版本中,已经集成了Jquery 1.3.1,自然,也要学一学!发现使用Jquery代码果然写得比原始JS优雅!只是语法和方法太多,现在还没弄熟,还需要时间来学习.....这次是第一次使用Jquery写客户端脚本,如果大家发现更好的实现方法,请给我留言!谢谢!
注明:ASP.NET MVC 1.0 ,作者:0x001;
View:
script type=text/javascript??? $(document).ready(function() {??????? GetByJquery();??????? $(#ddlProvince).change(function() { GetCity() });??????? $(#ddlCity).change(function() { GetDistrict() });??? });??? ??? function GetByJquery() {
??????? $(#ddlProvince).empty(); //清空省份SELECT控件
??????? $.getJSON(/ajax/GetProvinceList, function(data) {??????????? $.each(data, function(i, item) {??????????????? $(option/option)??????????????????? .val(item[ProvinceID])??????????????????? .text(item[ProvinceName])??????????????????? .appendTo($(#ddlProvince));??????????? });??????????? GetCity();??????? });?????
??? }
??? function GetCity() {
??????? $(#ddlCity
文档评论(0)