ASP.NET MVC中支持Ajax的方式和webform中有些区别,没有了updatepanel,所以对于初学者来说在最开始应用时似乎没有在webform中简单,但实际使用上更为灵活而跟webform比较并没有增加多少复杂度。

一、ASP.NET MVC Ajax 的 Helpers

对于ASP.NET MVC中的Ajax的学习,需要重点了解Ajax.ActionLink()和Ajax.BeginForm()这两个Helper,Ajax是System.Web.Mvc.ViewPage中的属性,它返回的类型是AjaxHelper,而ASP.NET MVC中的View都是继承于System.Web.Mvc.ViewPage,所以在页面上能直接使用这两个Helper。

1、Ajax.ActionLink():向客户端输入一个链接地址,跟Html.ActionLink()很相似,当单击这个链接时可以异步调用Controller中的方法

Ajax.ActionLink()方法有许多重载,我们这里举例说明其中一个比较常用的重载:

public static string ActionLink(this AjaxHelper ajaxHelper, string linkText, string actionName, object routeValues, AjaxOptions ajaxOptions);

linkText:是显示在客户端的文本

actionName:是Action的名字,默认情况下我们会使用当前的Controller。

routeValues:将传入到Controller中方法的参数

ajaxOptions:配置Ajax的一些选项,看完下面的例子我们再详细讲解这个配置选项。

这里先举一个简单的例子:

View:

虽然ASP.NET MVC 的sctrpts中已经有了Ajax的脚本,但使用之前仍然还要在页面中引用。Ajax.ActionLink("test","Hello",new{name="lfm"},new AjaxOptions{UpdateTargetId="results"}) 的意思是前端页面显示的文本为test,当点击test时会调用Controller中的Hello方法,参数为lfm,返回的内容会在id=results的标签中显示。

Controller:Codepublic ActionResult ActionLinkTest(){return View();}public string Hello(string name){return "Hello:" + name;}2、ajaxOptions重要选项讲解属性 类型 解释Confirm string 如果指定了这个选项,当单击链接时会弹出一个确认窗口LoadingElementId string 如果指定了这个选项,当点击链接时,会将指定的id标签内容的css改为显示状态UpdateTargetId string 如果指定了这个选项,异步调用完之后的返回值会替换这个标签。Confirm例子:在View中键入 当单击ConfirmTest时会弹出如下窗口:

LoadingElementId例子: View:

Controller:Codepublic string HelloSleep(string name){Thread.Sleep(2000);return "Hello:" + name;}3、Ajax.BeginForm():跟Html.BeginForm()很相似,当按提交按钮时会异步的调用相应的Controller中的方法View:

返回结果

Controller:public string Hello(string name){return "Hello:" + name;}public ActionResult BeginFormTest(){return View();}二、具体案例:1、查询news列表主显示页面的View(NewsShow):

返回结果

另外需要创建一个Partial的View(NewsList):TitleContentAuthorCreateTimeCountry

Controller:

public ActionResult Search(string title){NewsDataDataContext dc = new NewsDataDataContext();return View("NewsList", dc.News.Where(n => n.Title.Contains(title)));}public ActionResult NewsShow(){return View();}这里需要注意的就是ajax的返回可以支持ActionResult,只要这个ActionResult为Partial类型的View即可正确显示三、参考:《Professional ASP.NET MVC 1.0》《Pro ASP.NET MVC Framework》

mvc ajax helpers,ASP.NET MVC 实践系列4-Ajax应用相关推荐

  1. ajax调用fastreport,使用Ajax更新ASP.Net MVC项目中的报表对象

    Ajax技术显著加快了Web应用程序的速度.另外,视觉效果方面也有提升.大家都同意,每次点击按钮时整个页面都会被刷新这一点不太友好.如果你的网速不是很快,那么这个过程会很烦人,因为所有的元素都会先消失 ...

  2. ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点

    参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...

  3. 学习笔记 --- 工厂、单体、适配器、策略、观察者、MVC设计模式及ASP.NET MVC开发模式、关闭缓存的方法...

    关于工厂.单体.适配器.策略.观察者没啥好说的, 代码中有说明 //DesignPattern.cs View Code using System; using System.Collections. ...

  4. [导入]ASP.NET MVC框架开发系列课程(1):MVC模式与ASP.NET MVC框架概述.zip(8.80 MB)

    讲座内容: ASP.NET MVC框架是既ASP.NET WebForms后的又一种开发方式.它提供了一系列优秀特性,使ASP.NET开发人员拥有了另一个选择.本次课程将对MVC模式ASP.NET M ...

  5. 精化集ASP.NET AJAX与ASP.NET MVC分类第二轮筛选结果

    以下是包同学导给我的清单.老赵的第二轮把关很严,杀了几乎99%的文章.不过似乎有少部分并没有经过我的手,可能是其他同学转过来的吧.第三轮老赵依旧会严格把关,肯定也会杀更多(包括通过其他同学第二轮的)文 ...

  6. JQuery和Ajax在ASP.NET MVC中的基本应用

    当我们在开发Web应用程序中使用JQuery和Ajax异步调用来实现很多功能时,不仅提高了程序的性能,而且给用户一个更好的交互式界面操作体验.接下来我们依旧用简单的实例来学习下它们的应用. 创建一个A ...

  7. 使用jQuery.Ajax向ASP.NET MVC控制器Post数据

    jQuery自带了Ajax的函数,你可以使用它从远程服务器下载网页,但问题是,大部分Ajax都是通过GET这种方式与远程服务器交互的. 但如果你想通过Ajax向远程服务器传递数据呢?当然jQuery. ...

  8. asp.net+mvc+html辅助,ASP.NET MVC使用Ajax的辅助的解决方法

    前言:前面我们已经简单的介绍过了MVC如何Jquery,因为我们如果使用Ajax的话必须要了解Jquery,这篇博客我们将大致了解一下ASP.NET MVC如何使用Ajax的辅助方法,此博客是我的读书 ...

  9. npoi的mvc怎么ajax导出,asp.net mvc利用NPOI导入导出Excel解决方法

    asp.net mvc利用NPOI导入导出Excel 导出Excel 2003没有问题,导出Excel2007老是出现无法访问已关闭的流,请帮忙解决,或是哪位有mvc导入导出excel的工具类能提供, ...

最新文章

  1. LongAdder解析 1
  2. 我的奔腾B50 MT豪华版 典雅灰 – 验车篇
  3. Oracle之to_char(值,'fm99990.00')
  4. HASH暴力破解工具-Hashcat
  5. 性能测试工具curl-loader(linux)
  6. 延迟加载是一种代码气味
  7. rootfs 制作ubuntu_Ubuntu12笔记: 基于busybox的Linux小系统制作
  8. pdb 调试python
  9. 3件Unreal Engine 3不得不说的故事
  10. android方法是对象吗,为什么android中对象不初始化也能调用方法?
  11. 未来五年最具前景的一门编程语言是什么?
  12. JavaScript开发者的工具箱
  13. snap-社交网络分析
  14. 天猫行业资深店长认证
  15. 尚学堂马士兵 Struts2 笔记心得修改版
  16. window global
  17. 在manjaro下安装安卓投屏软件scrcpy详细过程
  18. 1.FastAPI简介
  19. IntelliJ IDEA类和方法注释模板配置
  20. MinGW最新版本下载

热门文章

  1. Redis学习(5)-常用命令
  2. 什么是事务的传播特性?(转载)
  3. 七种武器——.NET工程师求职面试必杀技(转)
  4. GDC 2006 Microsoft Developer Day Presentations
  5. 【白皮书分享】2021中国数字经济时代人工智能生态白皮书.pdf(附下载链接)...
  6. scp传文件时报错Add correct host key in /root/.ssh/known_hosts to get rid of this message
  7. PyTorch 深度学习:35分钟快速入门——变分自动编码器
  8. 全球首发!计算机视觉Polygon Mesh Processing总结7——Remeshing Local Structure
  9. word 段显示在页面最下方_最快速地把同一内容插入到Word文档不同页面的相同位置...
  10. 电子工程 计算机科学,计算机科学、计算机工程和电子工程有啥区别