.net ajax数据异步传输的做法

首先需要先建立一个网站,新建如下的一些文件,Web窗体(Default.asp教程x)、JScript文件(ajax.js)、Web服务(SayHelloService.asmx)、Class类(Hello.cs)

(补充一点:需要添加一个Microsoft.Web.Preview.dll,在CSDN有的下载)

 

  • Default.aspx前台代码:

<补充>需要新建一个ScriptManager控件,为了进行ajax数据交互,局部刷新


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Assembly="Microsoft.Web.Preview" Name="PreviewScript.js" />
<asp:ScriptReference Path="~/ajax.js" />
</Scripts>
<Services>
<asp:ServiceReference Path="~/SayHelloService.asmx" />
</Services>
</asp:ScriptManager>

<div>
<input id="btnSayHello" type="button" value="SayHello" />
<div id="result"></div>
</div>
</form>
</body>
</html>

  • ajax文件的代码:

<补充>加入Preview.dll的作用就在这里,为的是让已习惯asp.net教程后台编码的同胞们有似曾相识的感觉....




var btnSayHello;
var lblResult;

Sys.Application.add_init(onPageInit);

 

 

 

function OnFailded(error)
{
lblResult.set_text("调用失败。错误信息:"+error.get_message());
}function OnSucceeded(resultText)
{
lblResult.set_text(resultText);
}
function btnSayHello_onClick()
{
SayHelloService.SayHello(OnSucceeded,OnFailded);
}function onPageInit()
{
btnSayHello=new Sys.Preview.UI.Button($get("btnSayHello"));
btnSayHello.initialize();

lblResult=new Sys.Preview.UI.Label($get("result"));
lblResult.initialize();

btnSayHello.add_click(btnSayHello_onClick);
}

SayHelloService.cs文件的代码:

<补充>这个Web服务的类的作用在于为js文件与普通的类之间,构造一个“沟通本台”。

其实在基本的类中也可以做到这一点,但要在基本的类中加入【ScriptService】、【WebMethod】等关键字,在一定程度中“污染”基本类。

记得补充【ScriptService】、【WebMethod】等关键字,同时当你每写一个函数的时候,都要记得在前面加入【WebMethod】关键字。



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]

 

[WebMethod]

public string SayHello()
{
Hello myHello = new Hello();
return myHello.SayHello();
}
}public class SayHelloService : System.Web.Services.WebService {

public SayHelloService () {

}

Hello的代码


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

public class Hello
{
public Hello()
{
}

public string SayHello()
{
return "Hello!Anna";
}

}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索web
, 文件
, 关键字
, 代码
, using
WebMethod
ajax异步传输、ajax异步传输数据、asp.net ajax异步更新、asp.net ajax异步刷新、asp.netajax异步刷新,以便于您获取更多的相关知识。

时间: 2024-09-23 14:16:59

.net ajax数据异步传输的做法的相关文章

php采用ajax数据提交post与post常见方法总结_php技巧

本文实例讲述了php采用ajax数据提交post与post常见方法.分享给大家供大家参考.具体方法如下: 在很多情况下我们使用ajax是不会有什么问题的,但有时会碰到ajax数据提交post不完整的问题,这里举例给大家分析一下. 下边是一个标准的ajax请求代码,正常情况下是不会有任何问题的,但是,在特定情况下就会出现问题,比如,username=fdas&321的时候,或者参数值中出现了&符号,经过了N多遍测试,发现数据都传输了,但是打印出来数据是半截,最后仔细观察头信息发现传输的头不对

基于iframe实现ajax跨域请求 获取网页中ajax数据_AJAX相关

大家都知道,在不同域的情况下是不能发送ajax请求的,浏览器会报如下错误: 同时,内嵌的iframe中无法进行跨域通信的,也就是说不同域的iframe是无法互相读取数据的(当然利用hash变化可以从父window传入数据到子iframe,不过并没有什么意义).iframe跨域通信时,浏览器会报如下错误: 其实这两个问题都是由于跨域造成的. 下面就介绍如何解决这个问题. 其实问题的关键就在于,浏览器在解析ajax请求地址时会和当前网页的地址进行比较,如果是跨域的,那就禁止掉并且报错.那么我们如果让

Yii基于CActiveForm的Ajax数据验证用法示例_php实例

本文实例讲述了Yii基于CActiveForm的Ajax数据验证用法.分享给大家供大家参考,具体如下: 1. 视图定义form表单开启ajax验证 $form = $this->beginWidget('CActiveForm', array( 'id'=>'zdzone-form', 'enableAjaxValidation'=>true,//开启ajax验证 'enableClientValidation'=>true,//开启客户端验证,生成js 'action'=>

Java中使用json与前台Ajax数据交互的方法_java

本文主要为大家分享了Ajax获取显示Json数据的一种方法,供大家参考,具体内容如下  1.首先前台用Ajax,其中注意dataType一定要选择json方式,Action成功返回给页面的Json内容是这样的[{"number":"V006","names":"LiLei"}],可见comment['names']对应"names":"LiLei",comment['number']对应

使用加载图片解决在Ajax数据加载中页面出现短暂空白的问题(推荐)_AJAX相关

在项目中用ajax异步获取数据后有时会因为数据问题或者网络问题,页面一直显示空白,现在用加载图片来过渡这种状态: <script> $(function(){ $.ajax({ url:'',//提供接口的文件地址链接 dataType:'json', type:'POST', beforeSend: function(){ $('#loading').html("<img src=\"images/loading.gif\" width=\"15

asp.net处理ajax 数据异常方法

1.在web.config的customErrors配置中设置当出现未处理的异常时转到指定页: 2.在Global.asax的Application_Error事件处理程序中,将异常信息输出到指定的页面显示给客户端: 3.由于我所有的页面都是继承自一个MyPage类(它又继承自System.Web.UI.Page),所以也可以考虑在MyPage的Page_Error事件处理程序中,来将异常信息输出到指定的页面显示给客户端. 但是,第一和第三种方法,会在出现异常时直接转到指定页,从而达不到直接al

ajax数据分页

ajax分页教程的前端代码,html部份我们就不讲了.直接开始script中的内容.首先我们定义了4个全局变量,分别是: all_page:总页数,创建页码的根据 all_record:数据总条数,all_record/pagecount=all_page 得到总页数 current_page:当前请求的页码.传送给服务端 pagecount:每页显示的条数,传送给服务端   <html> <head> <title>ajax数据分页</title> <

Yii基于CActiveForm的Ajax数据验证用法示例

本文实例讲述了Yii基于CActiveForm的Ajax数据验证用法.分享给大家供大家参考,具体如下: 1. 视图定义form表单开启ajax验证 $form = $this->beginWidget('CActiveForm', array( 'id'=>'zdzone-form', 'enableAjaxValidation'=>true,//开启ajax验证 'enableClientValidation'=>true,//开启客户端验证,生成js 'action'=>

Javascript级联下拉菜单以及AJAX数据验证核心代码_javascript技巧

虽然也使用了Prototype.js来编写,但是由于对它的不了解,类的实现仍然是使用了<JavaScript高级程序设计>里的方法.使用AJAX进行数据验证时,最初使用的是XML来当数据源,然而在使用了一段时间后,发现XML效率太低,于是又使用JSON来做为数据源. 一年过去了,客户又提出了新的需求,最初是只要输入框的两个数据相符就行,现在的要求是两个下拉菜单的数据也要相符,于是,我利用此机会,将代码重构了一次. 需求: 1.根据下拉菜单产品名称.产品包装的选择,右面的图片要进行相应的变化.