方法一:使用一般处理程序
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技术,并且如何通过Ajax调用传递参数。这个示例相比于"示例1",主要增加了参数传递的功能,这在实际开发中是非常实用的。 首先,要使用...
在ASP.NET中使用AJAX是为了构建更具交互性和用户体验的Web应用程序。AJAX,即异步JavaScript和XML,允许页面在不完全刷新的情况下与服务器进行通信,从而提高响应速度和用户体验。这种技术最早由Microsoft在1999年...
在ASP.NET中,AJAX(Asynchronous JavaScript and XML)技术的运用极大地提升了用户体验,因为它能够在不刷新整个页面的情况下更新部分网页内容。本实例将探讨如何在ASP.NET中集成AJAX验证,以实现实时、无刷新的...
在ASP.NET中,我们通常使用Ajax库如AjaxPro来实现Ajax功能。 **AjaxPro库** AjaxPro是针对ASP.NET平台的一个轻量级的Ajax框架,它简化了在ASP.NET应用中实现Ajax功能的过程。这个库提供了强大的特性,包括类型安全...
Timer控件在ASP.NET AJAX中的作用是周期性地触发事件,例如每隔一定时间间隔更新页面的部分内容。这通常用于实时显示数据,如股票报价、天气预报或者在线聊天等需要持续更新的场景。要使用Timer控件,首先需要在页面...
本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端...
下面是对ASP.NET中使用AJAX的详细讲解: 1. **AJAX基础** AJAX的核心是XMLHttpRequest对象,它在后台与服务器进行通信,获取或发送数据。ASP.NET通过.NET Framework提供了对AJAX的内置支持,使得开发者可以轻松地...
本实例将深入探讨如何在ASP.NET中使用AJAX,以及JavaScript如何与服务器端代码进行交互。 一、ASP.NET AJAX简介 ASP.NET AJAX(Asynchronous JavaScript and XML)库是微软为.NET框架提供的一套工具,它包括客户端...
本篇文章将详细讲解如何利用ASP.NET与Ajax技术实现在Web应用中导出Excel文件。 首先,ASP.NET是Microsoft开发的一个用于构建动态网站、Web应用程序和服务的框架。它基于.NET Framework,提供了丰富的服务器控件、...
在ASP.NET中使用AJAX,开发者可以利用AJAX Toolkit、jQuery或者其他库来实现异步功能。例如,ASP.NET AJAX Control Toolkit提供了一系列预构建的控件和扩展,简化了AJAX功能的实现。 4. **创建AJAX请求** 使用...
在ASP.NET中使用Ajax的核心是AJAX Extensions和jQuery库。AJAX Extensions提供了一些服务器端控件和组件,如UpdatePanel,使得页面的部分内容可以在不完全刷新整个页面的情况下更新。而jQuery是一个轻量级的...
ASP.NET是微软公司推出的一种基于...总之,这个ASP.NET环境配置AJAX的视频教程对于初学者来说是一份宝贵的资源,通过观看和实践,可以有效地提升在ASP.NET中使用AJAX技术的能力,让你的Web应用程序更加流畅和用户友好。
`UpdatePanel`是ASP.NET AJAX中最常用的控件之一,它允许你在后台代码执行后只更新页面的一部分: 1. **添加UpdatePanel**:在页面上放置一个`<asp:UpdatePanel>`控件,然后将需要异步更新的控件放入其中。 2. **...
本实例主要探讨了在VS2010开发环境下,如何在ASP.NET中使用jQuery调用Ajax,以及在ASP.NET MVC框架中同样操作的实践方法。 首先,让我们深入了解一下jQuery中的Ajax。jQuery是一个流行的JavaScript库,它简化了...
- **ScriptManager**:它是ASP.NET AJAX页面中的关键组件,负责管理客户端脚本、注册AJAX库和处理AJAX请求。 **3. ASP.NET AJAX开发** - **客户端脚本编程**:通过JavaScript API,开发者可以自定义AJAX行为,如...
在本示例中,我们将探讨如何在ASP.NET中使用AJAX与自定义HTTP处理程序(.ashx文件)进行交互,而无需依赖任何特定的ASP.NET AJAX控件。 首先,一个`.ashx`文件是HTTP处理程序,它是一个轻量级的服务器端组件,用于...
在ASP.NET开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛用于创建具有高度交互性和响应性的Web应用程序。Ajax的核心优势在于它允许部分页面更新,而无需重新加载整个页面,从而提高了用户体验。在这个...
在本项目实例中,我们将深入探讨如何结合ASP.NET 3.5和AJAX来构建一个实时的聊天室。 1. **ASP.NET 3.5核心技术** - **Page生命周期**:理解ASP.NET页面的生命周期是开发Web应用程序的基础,包括初始化、加载、...
本卷侧重分析ASP.NET AJAX框架的客户端部分,包括对JavaScript 在面向对象、DOM 操作方面的扩展、ASP.NET AJAX 客户端组件、ASP.NET AJAX XML脚本等,还介绍了ASP.NET AJAX 框架为开发者在客户端用JavaScript 与...