ASP.NET Ajax 简单实例
本实例讲解Ajax 调用WCF服务。
1、建立一个网站,并在其中添加一个WCF服务(这里需要选择Ajax-Enabled WCF Service)。
2、IDE会自动生成一个SVC文件。
3、服务代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text; namespace WebApplication2
{
[ServiceContract(Namespace = "WebApplication2")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service1
{
// To use HTTP GET, add [WebGet] attribute. (Default ResponseFormat is WebMessageFormat.Json)
// To create an operation that returns XML,
// add [WebGet(ResponseFormat=WebMessageFormat.Xml)],
// and include the following line in the operation body:
// WebOperationContext.Current.OutgoingResponse.ContentType = "text/xml";
[OperationContract]
public bool ValidateUser(string uid, string pwd)
{
if(uid=="sa" && pwd=="sa")
{
return true;
}
return false;
}
//public void DoWork()
//{
// // Add your operation implementation here
// return;
//} // Add more operations here and mark them with [OperationContract]
}
}
4、服务写好后就可以调用,这里在页面中添加一个ScriptManager,并引入WCF Webservice,代码如下
Get.aspx前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Get.aspx.cs" Inherits="WebApplication2.Get" %> <!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>
<script type="text/javascript">
function ValidateUser(uid, pwd) {
WebApplication2.Service1.ValidateUser(uid,pwd, OnSucceed, OnFailed);
} function OnSucceed(result) {
if (result == true) {
window.alert("通过验证");
}
else {
window.alert("验证失败!")
}
} function OnFailed(result) {
window.alert("操作失败:" + result._message);
} function Button1_onclick() {
var uid = $get("tbxUid").value;
var pwd = $get("tbxpwd").value;
ValidateUser(uid,pwd);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="scriptmanager1" runat="server">
<Services>
<asp:ServiceReference Path="~/Service1.svc" />
</Services>
</asp:ScriptManager>
</div>
<div>
用户名:<input id="tbxUid" type="text" /><br/>
密码:<input id="tbxpwd" type="text" /><br />
<input id="button1" type="button" value="Submit" onclick="return Button1_onclick();"
</div>
</form> </body>
</html>
5、这里需要注意的是,在调用 WebApplication2.Service1.ValidateUser方法时,代码中并没有直接取该函数的返回值,因为利用这种方案对服务器函数的调用都是异步的,正确的处理方法是指定了两个回调函数OnSucceed和OnFaile,第一个函数是成功时的回调,后一个是失败时的回调,这两个函数都需要一个参数,OnSucceed的参数就是服务器函数的返回值,而OnFaile的参数就是失败时的出差信息,功能类似Exception类型,其中_message属性中出错信息,_stackTrace中出错的堆栈跟踪信息。
6、这是一种常规的异步回调模式,大多数语言都会这么写。
7、运行结果:
ASP.NET Ajax 简单实例的更多相关文章
- PHP Ajax简单实例
最近学习Jquery Ajax部分,通过简单例子,比较了下post,get方法的不同 HTML部分 <html> <head> <title>jQuery Ajax ...
- php的ajax简单实例
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈. 为了防止我自己忘记,现在把这个简单的实例记录下.这个实例是网上搜的,文末附上链接. 首先你得有自己的服务器 ...
- ASP.NET Ajax简单的无刷新分页
最近练习了一些AJAX无刷新分页,写得比较简单,性能不知道怎么样,求大神指点,如有更好的分页提供,欢迎交流! 发话不多说了,直接上代码! 首先从网上下了一个JS分页,感觉挺好用的 (function( ...
- Ajax 简单实例,其实就是js里面内容有些不同而已(转载)
这些时间,瞎子也看得见,AJAX正大踏步的朝我们走来.不管我们是拥护也好,反对也罢,还是视而不见,AJAX像一阵潮流,席转了我们所有的人. 关于AJAX的定义也好,大话也好,早有人在网上发表了汗牛充栋 ...
- EXT ajax简单实例
转载:http://www.cnblogs.com/xiepeixing/archive/2012/10/24/2736751.html EXT ajax request是ext中对于ajax请求的实 ...
- AJAX简单实例
越用AJAX越觉得它的强大.好用. 平常我们提交表单,是直接通过action属性,直接向后台提交数据. 我们也可以用AJAX向后台提交数据.例如: 这是一个表单,两个字段:notice,scort,保 ...
- ajax 简单实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> ...
- Ajax简单实例(基于jQuery)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- asp.net ajax 简单案例
第一步先引用 scriptManager <asp:UpdatePanel ID="UpdatePanelGuanZhu" runat="server"& ...
随机推荐
- 绝不要进行两层间接非const指针赋值给const指针
#include <stdio.h> #include <stdlib.h> int main(void) { int *p1; int * *pp1; const int * ...
- plsql 建立oracle作业
--.plsql中学习job --学习job --建表 create table test_job(para_date date); commit; insert into test_job valu ...
- 淘宝(阿里百川)手机客户端开发日记第一篇 android 主框架搭建(一)
android 主框架搭建(一) 1.开发环境:Android Studio 相继点击下一步,直接项目建立完毕(如下图) 图片看的效果如果很小,请放大您的浏览器显示百分比 转载请注明http://w ...
- Eclipse的link方式安装JBPM6插件(JBPM学习之一)
1. 首先下载最新的JAVA开发最受欢迎的Eclipse IDE工具,下载地址:http://www.eclipse.org/downloads/ 2. 然后去JBPM社区去下载最新的JBPM6,下载 ...
- Java 7 Concurrency Cookbook 翻译 第一章 线程管理之一
一.简介 在计算机的世界里,当我们谈论并发时,我们指的是一系列的任务同时运行于一个计算机中.这里说的同时运行,在计算机拥有多于一个处理器或者是一个多核处理器的时候才是真正的同时,在计算机只拥有单核处理 ...
- Ngui 五种点击事件实现方式及在3d场景中点透的情况
http://www.unity蛮牛.com/thread-22018-1-1.html ngui作为unity界面插件之一中,无疑是最好用,使用最多的了从自学unity到现在界面一直使用它 由于它的 ...
- Unity 用户手册用户指南二维纹理 (Texture 2D)
http://www.58player.com/blog-2327-953.html 二维纹理 (Texture 2D) 纹理 (Textures) 使您的 网格 (Meshes).粒子 (Parti ...
- [KOJ6997]旅行商问题二
[COJ6997]旅行商问题二 试题描述 Bob是一名旅行商,Bob同时也是一个哲学家,他深知到了一个地方就要掏出钱包把所有景点都玩到.一个城市有N个景点,其中N-1条无向道路链接成一个连通图.Bob ...
- 三. 动态添加option选项
- Android实用代码模块集锦
1. 精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) 1 2 3 4 5 6 public static double getScreenPhysicalSize(Activity ctx) ...