知识大全 .Net环境下基于Ajax的MVC方案[1]

Posted

篇首语:理想的书籍,是智慧的钥匙。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 .Net环境下基于Ajax的MVC方案[1]相关的知识,希望对你有一定的参考价值。

.Net环境下基于Ajax的MVC方案[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   问题背景  现在 越来越多人开始尝试基于Ajax进行无刷新的Web开发 不过 在 Net环境下 应用Ajax并不是非常方便 这主要可能是由以下一些原因造成的   ·由于Ajax基于javascript的本质 使得开发者必须对javascript非常了解 起码 其javascript能力足以实现对callback返回内容对页面的更新 所以开发的门槛就有一定程度的上升  ·当基于Ajax机制进行开发时 原有的基于postback方式下时 asp net由后台逻辑代码(Model) aspx页面(View) aspx cs(Controller)构成的MVC构架其实失效了 当callback返回数据时 要么在client端用javascript解析返回内容以实现更新 要么则必须在server端构造好比较完整的代码 再直接由javascript将该构造好的设置给某个页面对象 很显然 这样一来 要实现一个最简单的callback功能 都要不少代码 并且是相对比较乱的代码 即使在即将到来的asp net 该问题依然不会得到有效解决   本文目的  本文旨在充分利于现有的asp net本身的特点和ajax的特性 提出一个用于在asp net环境下进行基于ajax的web开发的MVC方案 以实现以下主要目的   ·Asp Net环境下用于Ajax的清晰的MVC构架  ·降低编程人员对过多javascript编码的依赖以降低编程门槛  ·灵活的支持ajax模式下的常用开发方式   问题分析  如何实现以上几个主要目的呢? 1)要对xmlrequest对更良好的封装 以使调用方式更简单  2)尽量在server端进行更新数据的构造 但是也要避免每次返回数据都手工构造 因此 就想到可以充分使用UserControl 由UserControl作为 View 对应的由ascx cs文件作为 Controller 这样构成的MVC也是比较清晰的    问题解决  基于以上思想 本人实现了以下一个组类库以简化该过程   源码及范例下载  代码简析   1)首先在client端 AjaxHelper js封装了xmlrequest 并提供一个将现有的<form>序列化为形如param =v &param =v & 形式用于post的参数   Updater(ajaxTemplate output params onComplete)函数 用于实现一次callback调用  ajaxTemplate(必选) 指定执行需要功能的UserControl路径  output(可选) 填充返回数据的指定标签的引用或ID值  params(可选) 形如param =v &param =v & 的post参数  onComplete(可选) 可用于对返回数据进行特殊处理的回调函数 函数格式  function(str) str为返回的数据  SerializeForm(form)函数 用于序列化<form>  form 可以是对指定<form>的引用或ID值  2)在server端 Ajax aspx文件封装了对由客户端ajaxTemplate指定的UserControl的调用 其余的具体逻辑功能则在特定的UserControl及其ascx cs内实现   3)这样 具体执行一次callback时 编程人员只需在页面引用AjaxHelper js 并在指定的位置通过javascript:Updater(ajaxTemplate output params onComplete)进行调用 如果需要对某一form进行提交 则可调用javascript:SerializeForm(form)序列化该form并传给params 当然也可以手动构造params 并指定将返回数据通过设置output应用的页面或通过onComplete自定义处理   4)由于充分使用UserControl 意味着 可以充分利用asp net原有的web服务器端控件和数据绑定机制 这样其实 已经很大程度上简化了返回数据的构造 在ascx cs中 通过Request Form[ParamName]就能访问到client端传入的params 再访问逻辑代码获取源数据    范例  包含在源码中的范例实现了一个简单的无刷新获取博客园首页内容到一个textarea的功能 详见源码!

cha138/Article/program/net/201311/15430

相关参考

知识大全 asp.net中mvc使用ajax提交参数的匹配问题解决探讨

本文为大家介绍下使用javaScript解决aspnet中mvc使用ajax提交参数的匹配问题遇到类似情况的朋友可以参考下希望对大家有所帮助 想到在aspnet的mvc中如果使用ajax向服

知识大全 ASP.NET 的MVC结构之AJAX

ASP.NET的MVC结构之AJAX  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNET

知识大全 Asp.net MVC 中Ajax的使用

Asp.netMVC中Ajax的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  MVC抛弃了

知识大全 在ASP.NET里 MVC框架添加AJAX支持

在ASP.NET里MVC框架添加AJAX支持  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一引言&

知识大全 事实证明Ajax的世界更需要ASP.NET MVC

事实证明Ajax的世界更需要ASP.NETMVC  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET MVC 4框架揭秘:基于IoC的DependencyResolver(1)[1]

ASP.NETMVC4框架揭秘:基于IoC的DependencyResolver(1)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理

知识大全 ASP.NET MVC 4框架揭秘:基于IoC的ControllerActivator[1]

ASP.NETMVC4框架揭秘:基于IoC的ControllerActivator[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发

知识大全 ASP.NET MVC 4框架揭秘:基于IoC的ControllerFactory(1)[1]

ASP.NETMVC4框架揭秘:基于IoC的ControllerFactory(1)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后

知识大全 ASP.NET MVC 4框架揭秘:基于IoC的DependencyResolver(1)[2]

ASP.NETMVC4框架揭秘:基于IoC的DependencyResolver(1)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理

知识大全 ASP.NET MVC 4框架揭秘:基于IoC的ControllerFactory(1)[2]

ASP.NETMVC4框架揭秘:基于IoC的ControllerFactory(1)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后