搭建微信网站,wordpress 大数据备份,在线crm系统排名,创意网站建设公司自己理解的asp.net ajax的核心思想#xff1a; javascript 调用web service ?xml:namespace prefix o ns urn:schemas-microsoft-com:office:office /由于工作的原因#xff0c;要在自己的网页上使用无刷新技术#xff0c;增加客户体验。开始学习asp… 自己理解的asp.net ajax的核心思想 javascript 调用web service ?xml:namespace prefix o ns urn:schemas-microsoft-com:office:office / 由于工作的原因要在自己的网页上使用无刷新技术增加客户体验。开始学习asp.net ajax到了asp.net ajax的大本营(ajax.asp.net)找了些视频看,给我的最初印象是asp.net ajax实现无刷新就是利用javascript调用web service。刚开始学习ajax的知识可能会火星一下请高手们见谅 大家做网站网页开发的人都知道javascript是在客户端执行的执行的时候页面不会postback信息到服务端在页面上修改呈现信息时浏览器也不会整体刷新页面而只是根据javascript的操作来修改一个页面上其中一个地方的内容比如把text框里的文本修改一下。而asp.net ajax也利用了这一点实现了页面无刷新的功能那页面又如何能把需要服务器端进行操作的结果反馈到本地呢 Asp.net ajax的方法是使用javascript调用服务器端的web service。 我还是比较喜欢用一个例子来加以说明这样比较清晰明了。 开发环境windows xp sp2visual studio2005 sp1asp.net ajax 安装asp.net ajax 只要到ajax.asp.net上下载一个安装文档安装一下就可以了不需要什么配置。 1. 安装完asp.net ajax后打开visual studio,新建web site,可以看到下面的图像 在模板中我们可以发现多了一个叫做ASP.NET AJAX-Enabled Web Site的模板我们选择这个模板新建一个web site,使用这个模板建的网站跟普通建站模板的区别是在web.config里大家有兴趣可以研究一下这个config文件这样我们可以手工建一个支持asp.net ajax的网站了。 首先我们给这个网站新建一个web service如图 建完这个web serivce我们在浏览器里运行web service的asmx文件这里我们给web service取得名字是SampleService所以生成的名字是SampleService.asmx在浏览器里我们看到的样子是这样的 这是一个标准的web service的asmx页面可以用来测试一下我们建的web service里提供的SayHello函数这时我们如果在地址后面加上一个/js 就可以看到下面的错误页面 现在我们回过头来看web service的.cs文件我们看到web service的类是这么写的 [WebService(Namespace http://tempuri.org/)][WebServiceBinding(ConformsTo WsiProfiles.BasicProfile1_1)]public class SampleService : System.Web.Services.WebService { public SampleService () { //Uncomment the following line if using designed components //InitializeComponent(); } [WebMethod] public string SayHello(string name) { return Hello name; } } 接着我们在这个类申明上加上一句[System.Web.Script.Services.ScriptService ()]变成下面的代码 [WebService(Namespace http://tempuri.org/)][WebServiceBinding(ConformsTo WsiProfiles.BasicProfile1_1)][System.Web.Script.Services.ScriptService ()]public class SampleService : System.Web.Services.WebService { public SampleService () { //Uncomment the following line if using designed components //InitializeComponent(); } [WebMethod] public string SayHello(string name) { return Hello name; } } 重新编译一下网站这时候我们再浏览这个.asmx文件并在后面加上/js,就会看到如下情况 它会让你下载一个js文件保存这个文件并用记事本打开它可以看到js调用web service的代码 接着我们打开default.aspx这时候在页面上已经存在一个asp.net ajax使用必须的ScriptManager控件如果没有就手工添加一个哈哈我们在页面上放置两个input text和一个input button (这些是标准的html控件)并给ScriptManger控件添加一些代码 asp:ScriptManager IDScriptManager1 runatserver Services asp:ServiceReference PathSampleService.asmx / /Services /asp:ScriptManager 这里指定了客户端需要调用web service的页面. 接着给button控件增加一个客户端的click事件最后完成全部代码是这样的 % Page LanguageC# AutoEventWireuptrue CodeFileDefault.aspx.cs Inherits_Default %!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.1//EN http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtdhtml xmlnshttp://www.w3.org/1999/xhtmlhead runatservertitleUntitled Page/titlescript languagejavascript typetext/javascript// !CDATA[function Button1_onclick() { retSampleService.SayHello(document.getElementById (Text1).value,OnComplete,OnTimeOut,OnError); return(true);}function OnComplete(arg){ document.getElementById(Text2).innerTextarg;}function OnTimeOut(arg){ alert(TimeOut raise when calling SayHello.);}function OnError(arg){ alert(Error raise when calling SayHello.);}// ]]/script/headbody form idform1 runatserver asp:ScriptManager IDScriptManager1 runatserver Services asp:ServiceReference PathSampleService.asmx / /Services /asp:ScriptManager div br / br / input idText1 stylewidth: 200px typetext / br / input idButton1 stylewidth: 205px typebutton valueSay Hello onclickreturn Button1_onclick() /br / input idText2 stylewidth: 317px typetext / /div /form/body/html 这里注意一下button1的Button1_onclick()事件的实现。 可以看出针对defaul.aspx页面我们这里全部使用了客户端代码但调用到了服务端的执行代码和返回结果从而实现了页面无刷新的修改这应该就是asp.net ajax的核心思想了吧这个例子可以在ajax.asp.net的视频讲座里找到的我按照自己的记忆重新写的可能有点不同不过核心思想是一样的。例子下载 转载于:https://www.cnblogs.com/dotLive/archive/2007/03/11/670690.html