`

ASP.NET中使用Ajax

 
阅读更多

方法一:使用一般处理程序

asp.net可以使用一般处理程序(ashx)来配合ajax。

一般处理程序可以处理任何请求。

缺点:需要手动做请求参数的获取。对于返回值需要手动格式化字符串。

 

 

 

方法二:微软AJAX解决方案

1. ASP.NET中内置的简化AJAX开发的控件UpdatePanel。

(1)添加ScriptManager控件。一般放到页面的最上面。

(2)添加UpdatePanel控件。将需要使用AJAX效果的页面放入UpdatePanel中。对该控件的事件处理,就可以实现AJAX效果。

 

*原理

1.UpdatePanel实现的Ajax会把页面的ViewState,以及其他表单数据都发生给服务器。相当于提交了一次正常的表单。

2.服务器端生成UpdatePanel中控件的新HTML。返回给个客户端,页面自动把接受到的HTML重新更新到UpdatePanel中去。

*实质:这种方式的AJAX与正常的一次表单提交没有多大区别。每次提交,服务器端的Page对象生命周期的事件都会触发。

*优点:应用非常简单。

*缺点:冗余。通讯量大。

*应用:UpdatePanel用来实现一些对性能要求不高的需求非常方便。

 

 

2. Timer实现定时AJAX效果。

(1)添加Timer定时器控件。放入UpdatePanel中。

(2)设定Timer定时器的Interval,触发时间间隔。

(3)编写Timer1_Tick()事件处理代码。

 

 

3. UpdateProgress显示“正在加载数据”

 

 

 

方法三:AJAXToolkit轻量级控件

微软的开源控件。属于第三方。

需要添加到项目中。

开发简单,效率不错。

 

 

 

方法四:WCF简化AJAX

优点轻量级

【添加新项】-->【启用了AJAX的WCF服务】

例如:新建一个PersonService.svc。

说明:服务代码文件的后缀名为svc。

 

1.WCF服务IDE会自动生成方法DoWork()。

注意:客户端需要访问的方法上必须要有[OperationContract]。

 

例:添加客户端需要访问的方法GetPerson(int id)该方法通过参数id返回,对应的Person对象。

 

namespace WCFAJAX
{
//.....
	public class PersonService
	{
		[OperationContract]
		public Person GetPerson(int id)
		{
			return new Person(){Name="tom",Age=24};
		}

		[OperationContract]
		public void DoWork()
		{
		}

	}

	public class Person
	{
		public string name{get;set;}
		public int Age{get;set;}
	}

}
 

 

 

2.页面上需要添加ScriptManager控件。对ScriptManager控件Services属性的对话框中,添加引用服务。

例如:

即【行为】-->Path,添加服务路径。如~/PersonService.svc。

 

3.在页面的<script>中编写处理方法

例如:按下按钮,得到服务器上id为1的Person。

添加按钮事件

 

<input id="Button1" type="button" value="button" onclick="return Button1_onclick()" />
 

 

在<script>中处理事件。

 

function Button1_onclick(){
    PersonService.GetPerson(1,
        function(data){
            //请求成功处理函数
            alert(data.Name);
        },
        function(){
            //请求失败处理函数
            alert("请求失败");
        }
    );
}

 

有时候会出现一些IDE问题,在页面写<script>时,添加的服务对象不能被IDE提示。可以先关闭页面,再打开页面。

 

优点:相当于添加用JavaScript代码调用C#方法。形式上比较简单。

 

 

 

附加:

json

asp.net服务器端生成json,可以使用JavaScriptSerializer类,将一个C#对象序列化为json对象。

JavaScriptSerializer类在 .Net 3.x 被支持。在2.0之下,使用第三方类来实现。

 

方法如下:

 

JavaScriptSerializer jss=new JavaScriptSerializer();

//将C#对象序列化 JavaScript对象。
string json1=jss.Serialize(new Person(){Name="tom",Age="30"});
  
//将C#数组序列化为JavaScript的Array。
string json2=jss.Serialize(new string["a","b","c"]);  

//将C#对象数组序列化为JavaScript对象数组。
Person[] ps=new Person[]{new Person(){Name="tom",Age=21},new Person(){Name="cat",Age=22}};
string json2=jss.Serialize(ps);
 

 

 

jquery解析text为json的方法:

 

$.post("JsonTest.ashx",function(data,status){
    var person = $.parseJSON(data);
    //访问 person.Name  person.Age。
})

 

 

 

 

 

分享到:
评论

相关推荐

    ASP.NET中使用Ajax示例2

    在"ASP.NET中使用Ajax示例2"中,我们将会探讨如何在ASP.NET应用中集成Ajax技术,并且如何通过Ajax调用传递参数。这个示例相比于"示例1",主要增加了参数传递的功能,这在实际开发中是非常实用的。 首先,要使用...

    在ASP.NET中使用AJAX的简单方法

    在ASP.NET中使用AJAX是为了构建更具交互性和用户体验的Web应用程序。AJAX,即异步JavaScript和XML,允许页面在不完全刷新的情况下与服务器进行通信,从而提高响应速度和用户体验。这种技术最早由Microsoft在1999年...

    ASP.NET中使用AJAX验证的实例

    在ASP.NET中,AJAX(Asynchronous JavaScript and XML)技术的运用极大地提升了用户体验,因为它能够在不刷新整个页面的情况下更新部分网页内容。本实例将探讨如何在ASP.NET中集成AJAX验证,以实现实时、无刷新的...

    ASP.NET中使用Ajax示例

    在ASP.NET中,我们通常使用Ajax库如AjaxPro来实现Ajax功能。 **AjaxPro库** AjaxPro是针对ASP.NET平台的一个轻量级的Ajax框架,它简化了在ASP.NET应用中实现Ajax功能的过程。这个库提供了强大的特性,包括类型安全...

    asp.net中ajax程序使用timer控件

    Timer控件在ASP.NET AJAX中的作用是周期性地触发事件,例如每隔一定时间间隔更新页面的部分内容。这通常用于实时显示数据,如股票报价、天气预报或者在线聊天等需要持续更新的场景。要使用Timer控件,首先需要在页面...

    ASP.NET AJAX程序设计——第I卷:服务器端ASP.NET 2.0 AJAX Extensions与ASP.NET AJAX Control Toolkit 源代码

    本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端...

    asp.net中ajax使用讲解

    下面是对ASP.NET中使用AJAX的详细讲解: 1. **AJAX基础** AJAX的核心是XMLHttpRequest对象,它在后台与服务器进行通信,获取或发送数据。ASP.NET通过.NET Framework提供了对AJAX的内置支持,使得开发者可以轻松地...

    asp.net 中的 ajax 实例

    本实例将深入探讨如何在ASP.NET中使用AJAX,以及JavaScript如何与服务器端代码进行交互。 一、ASP.NET AJAX简介 ASP.NET AJAX(Asynchronous JavaScript and XML)库是微软为.NET框架提供的一套工具,它包括客户端...

    asp.net+Ajax实现Excel文件导出

    本篇文章将详细讲解如何利用ASP.NET与Ajax技术实现在Web应用中导出Excel文件。 首先,ASP.NET是Microsoft开发的一个用于构建动态网站、Web应用程序和服务的框架。它基于.NET Framework,提供了丰富的服务器控件、...

    AJAX例子 结合ASP.NET

    在ASP.NET中使用AJAX,开发者可以利用AJAX Toolkit、jQuery或者其他库来实现异步功能。例如,ASP.NET AJAX Control Toolkit提供了一系列预构建的控件和扩展,简化了AJAX功能的实现。 4. **创建AJAX请求** 使用...

    ajax asp.net通用查询

    在ASP.NET中使用Ajax的核心是AJAX Extensions和jQuery库。AJAX Extensions提供了一些服务器端控件和组件,如UpdatePanel,使得页面的部分内容可以在不完全刷新整个页面的情况下更新。而jQuery是一个轻量级的...

    ASP.NET环境配置AJAX的视频教程 (EXE)

    ASP.NET是微软公司推出的一种基于...总之,这个ASP.NET环境配置AJAX的视频教程对于初学者来说是一份宝贵的资源,通过观看和实践,可以有效地提升在ASP.NET中使用AJAX技术的能力,让你的Web应用程序更加流畅和用户友好。

    .net中ajax.net中使用方法

    `UpdatePanel`是ASP.NET AJAX中最常用的控件之一,它允许你在后台代码执行后只更新页面的一部分: 1. **添加UpdatePanel**:在页面上放置一个`&lt;asp:UpdatePanel&gt;`控件,然后将需要异步更新的控件放入其中。 2. **...

    asp.net中Ajax

    本实例主要探讨了在VS2010开发环境下,如何在ASP.NET中使用jQuery调用Ajax,以及在ASP.NET MVC框架中同样操作的实践方法。 首先,让我们深入了解一下jQuery中的Ajax。jQuery是一个流行的JavaScript库,它简化了...

    完全手册:ASP.net.Ajax电子教程

    - **ScriptManager**:它是ASP.NET AJAX页面中的关键组件,负责管理客户端脚本、注册AJAX库和处理AJAX请求。 **3. ASP.NET AJAX开发** - **客户端脚本编程**:通过JavaScript API,开发者可以自定义AJAX行为,如...

    asp.net中AJAX与ashx页面交互简单示例

    在本示例中,我们将探讨如何在ASP.NET中使用AJAX与自定义HTTP处理程序(.ashx文件)进行交互,而无需依赖任何特定的ASP.NET AJAX控件。 首先,一个`.ashx`文件是HTTP处理程序,它是一个轻量级的服务器端组件,用于...

    Ajax 操作实例 ASP.NET实例

    在ASP.NET开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛用于创建具有高度交互性和响应性的Web应用程序。Ajax的核心优势在于它允许部分页面更新,而无需重新加载整个页面,从而提高了用户体验。在这个...

    asp.net3.5与ajax聊天室

    在本项目实例中,我们将深入探讨如何结合ASP.NET 3.5和AJAX来构建一个实时的聊天室。 1. **ASP.NET 3.5核心技术** - **Page生命周期**:理解ASP.NET页面的生命周期是开发Web应用程序的基础,包括初始化、加载、...

    ASP.NET 2.0 Ajax程序设计——第II卷书中代码2

    本卷侧重分析ASP.NET AJAX框架的客户端部分,包括对JavaScript 在面向对象、DOM 操作方面的扩展、ASP.NET AJAX 客户端组件、ASP.NET AJAX XML脚本等,还介绍了ASP.NET AJAX 框架为开发者在客户端用JavaScript 与...

Global site tag (gtag.js) - Google Analytics