ASP.NET MVC进阶

一、ASP.NET MVC中的AJAX应用

首先,在ASP.NET MVC中使用自带的ajax功能,必须要导入2个js文件(顺序不能颠倒):

                    

ASP.NET MVC提供了2个常用的ajax辅助方法.

Ajax.ActionLink

该辅助方法用于在页面上生成具有ajax功能的超链接.

                    

在该辅助方法中有一个AjaxOptions类型的参数,它包括如下属性:

  • Confirm:在发送ajax请求前,弹出确认对话框,该属性就是设置对话框中的提示消息
  • HttpMethod:用于设置请求的类型:Get|Post
  • UpdateTargetId:用于设置服务器响应的结果更新到页面中目标元素ID
  • InsertionMode:用于设置服务器相应的结果如何插入到被更新的元素中,它的值可以包括3种:

InsertionMode.Replace:用新值替换旧值(默认值)

InsertionMode.InsertAfter:将新值插入到目标元素的底部

InsertionMode.InsertBefore:将新值插入到目标元素的顶部

  • OnBegin:当执行ajax请求前,执行的js函数
  • OnSuccess:当执行ajax请求成功时,执行的js函数
  • OnFailure:当ajax请求失败时,执行的js函数
  • OnComplate: 当ajax请求完成后,执行的js函数(不管请求失败或成功,都会执行)
  • LoadingElementId:在ajax请求期间,可以显示一段友好的提示,该属性用于设置提示元素的ID
  • LoadingElementDuration: 提示元素在显示和隐藏时,可以执行一段动画,该属性用于设置提示元素的动画执行时间

                    

Ajax.BeginForm

该ajax辅助方法用于以ajax方式提交表单数据.

                     

其他

如何在页面中加载分部视图?

方式一:调用Html.RenderPartial(“viewName”)

方式二:调用Html.RenderAction(“actionName”)

他们之间的区别如下图所示:

                    

何时使用RenderAction,何时使用RenderPartial?

如果需要向视图中传递数据,而原视图中又没有需要传递的数据时,就需要调用RenderAction.

注意: Html.RenderPartial有多种重载形式,下面列举它的2种常用形式:

Html.RenderPartial(“分布视图的名称”)

Html.RenderPartial(“分部视图的名称”,  object  模型数据)

如何从服务器获取一段json格式的字符串?

服务器的Action方法返回值类型为JsonResult,并且在方法内部可以调用Controller.Json()辅助方法.

成长ing
摘要: 一、ASP.NET MVC中的AJAX应用首先,在ASP.NET MVC中使用自带的ajax功能,必须要导入2个js文件(顺序不能颠倒): ASP.NET MVC提供了2个常用的ajax辅助方法.Ajax.ActionLink该辅助方法用于在页面上生成具有aja...阅读全文
posted @ 2014-10-08 21:14 易墨 阅读(101) | 评论 (0) 编辑
 
摘要: 一、数据验证数据验证的步骤在模型类中添加与验证相关的特性标记在客户端导入与验证相关的js文件和css文件使用与验证相关的Html辅助方法在服务器端判断是否通过服务器端验证常用的验证标记 Required:非空验证StringLength:验证字符串的长度Regu...阅读全文
posted @ 2014-10-07 14:38 易墨 阅读(13) | 评论 (0) 编辑
 
摘要: 一、控制器相关在Controller类中方法访问级别为public的方法,就是行为(Action).如果不希望Controller类中的方法成为Action(可以在地址栏中被访问),有两种实现方式:将方法的访问级别设置为private在方法上添加特性标记[NonAction] ...阅读全文
posted @ 2014-10-02 17:46 易墨 阅读(26) | 评论 (0) 编辑
 
摘要: 一、MVC与ASP.NET MVC基础概念MVC是Model-View-Controller的缩写.MVC将应用程序划分为3大组件:模型\视图\控制器.MVC不是ASP.NET所特有,它只是一种开发理念.java中的struts2也是一种MVC模型.ASP.NET MVC从2008年发布1.0版以来...阅读全文
posted @ 2014-10-02 17:13 易墨 阅读(89) | 评论 (0) 编辑
分类: ASP.NET MVC
标签: asp.net mvc

ASP.NET MVC进阶的更多相关文章

  1. Asp.Net MVC 进阶篇:路由匹配 实现博客路径 和文章路径

    Asp.Net MVC 进阶篇:路由匹配 实现博客路径 和文章路径 我们要实现 通过路由 匹配出 博客地址 和博客文章地址 例如下面的这两个地址 //http://www.cnblogs.com/ma ...

  2. ASP.NET MVC进阶三

    一.ASP.NET MVC中的AJAX应用 首先,在ASP.NET MVC中使用自带的ajax功能,必须要导入2个js文件(顺序不能颠倒): ASP.NET MVC提供了2个常用的ajax辅助方法. ...

  3. ASP.NET MVC进阶二

    一.数据验证 数据验证的步骤 在模型类中添加与验证相关的特性标记 在客户端导入与验证相关的js文件和css文件 使用与验证相关的Html辅助方法 在服务器端判断是否通过服务器端验证 常用的验证标记 R ...

  4. ASP.NET MVC进阶一

    一.控制器相关 在Controller类中方法访问级别为public的方法,就是行为(Action). 如果不希望Controller类中的方法成为Action(可以在地址栏中被访问),有两种实现方式 ...

  5. ASP.NET MVC进阶之路:深入理解Controller激活机制并使用Ioc容器创建对象

    本文标题说是"深入理解Controller"其实有点“标题党”的味道了.本篇只会探讨"Controller"的激活机制,也就是如何创建Controller的并调 ...

  6. ASP.NET MVC进阶之路:深入理解依赖注入(DI)和控制反转(IOC)

    0X1 什么是依赖注入 依赖注入(Dependency Injection),是这样一个过程:某客户类只依赖于服务类的一个接口,而不依赖于具体服务类,所以客户类只定义一个注入点.在程序运行过程中,客户 ...

  7. ASP.NET MVC进阶之路:依赖注入(Di)和Ninject

    0X1 什么是依赖注入 依赖注入(Dependency Injection),是这样一个过程:某客户类只依赖于服务类的一个接口,而不依赖于具体服务类,所以客户类只定义一个注入点.在程序运行过程中,客户 ...

  8. asp.net+mvc+easyui+sqlite 简单用户系统学习之旅—— 摘要

    首次接触asp.net开发,希望把自己的学习之旅写下来,一方面做个知识归纳技术总结,另一方面开放到博客中,和大家一起交流学习! asp.net是目前流行的web开发技术之一,是微软旗下开发的基于.ne ...

  9. ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL

    http://www.cnblogs.com/John-Connor/archive/2012/05/03/2478821.html 引言-- 在初级篇中,我们介绍了如何利用基于ASP.NET MVC ...

随机推荐

  1. ITIL该研究的结论(互联网思维的结合)

    大约ITIL该研究的结论 最近,该公司与组织学习在一起ITIlV3一个Foundation知识. 学了几周了,每周两次课,是上海的同事在share她的理解. 事实上最開始,我个人差点儿没有听过ITIL ...

  2. 在cocos2d-x在CCTableView使用控制

    头文件需要继承CCTableViewDataSource和CCTableViewDelegate //CCScrollViewDelegate virtual void scrollViewDidSc ...

  3. js控制文本框仅仅能输入中文、英文、数字与指定特殊符号

    JS 控制文本框仅仅能输入数字 <input onkeyup="value=value.replace(/[^0-9]/g,'')"onpaste="value=v ...

  4. 一个Bug的反思

    对输入数据判重,使用Map,将对象作为Key,使用map的containsKey方法来着重是否是重复记录.正常的处理流程:(1)将输入的数据封装成对象(2)判重,将没有重复的数据存储到map(3)对没 ...

  5. Notepad++ 经常使用快捷键 (MEMO)

    最近的一项研究Lua,使用Notepad++ 作为编译器. 今天早上无意中按下 Ctrl+D ,.突然认为Notepad++ 这东西非常奇妙. 网上查找了Notepad++的快捷键,尝试 Ctrl+Q ...

  6. 如何获得android手机通讯录的字母显示(两)

    随后的写如何使各第一字母显示相同的分类触点: 于adapter implement SectionIndexer 这项adapter必须在下面可以实现3接口: @Override public Obj ...

  7. 最近ubuntu 14.04 cpu高入住故障排除

    最近linux始终使用cpu实现全值, 双核cpu这始终是一个核心100%,还有的正常核.top这一发现输入法框架fcitx加载,直接kill它,不能用于发现狗输入法,令: fcitx fcitx-q ...

  8. MySQL JDBC的queryTimeout坑

    遇到一个MySQL JDBC跑execute规定的方法queryTimeout坑,更恶心,无论是BUG,不能,^_^,为什么要说?请看下面的说明: 现象: 用同一个Connection运行大批量SQL ...

  9. HDU 1754 I Hate It (段树 &amp; 树阵)

    I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  10. 使用sqlnet.ora限制IP访问

    他在最后一个超级遭遇了许多方法值,然后找到一个方法,在DB上限IP访问. http://blog.csdn.net/jacson_bai/article/details/18097805 ENV:   ...