栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > asp

Javascript 直接调用服务器C#代码 ASP.NET Ajax实例

asp 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Javascript 直接调用服务器C#代码 ASP.NET Ajax实例

在MS Ajax中,JS与C#交互的一种方式就是调用WebService,该WebService可以ASMX的也可以是WCF的,不论哪种方式,系统都会自动为开发者生成代理的JS类。实现方法如下:

1.        建立一个网站,并在其中添加一个WCF服务(这里一定要选择Ajax-Enabled WCF Service),如下图所示:

2.        IDE会自动为我们生成一个SVC文件,是对外的接口,以及该SVC对应的后台实现类,该类文件会被放在App_Code下,如下图所示:

3.修改该类的代码,如下所示:
复制代码 代码如下:
[ServiceContract(Namespace = "TestAjax")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service
{
[OperationContract]
public bool ValidateUser(string uid, string pwd)
{
if (uid=="sa"&&pwd=="sa")
{
return true;
}
return false;
}
}

4.现在我们就可以页面里调用了,首先在页面中添加一个scriptManager,并引入我们刚才编写的那个WCF WebService(目的是在运行的时候生成JS的代理类),如下所示:
复制代码 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>










5.接下来可以编写JS代码来直接调用C#写的WebService了。JS代码如下所示:
复制代码 代码如下:


6.这里请大家注意,在调用TestAjax.Service.ValidateUser方法时,代码中并没有直接取该函数的返回值,因为利用这种方案对服务器函数的调用都是异步的,正确的处理方法是指定了两个回调函数OnSucceed和OnFailed,第一个函数是成功时的回调,后一个是失败时的回调,这两个函数都需要一个参数,OnSucceed的参数就是服务器函数的返回值,而OnFailed的参数是失败时的出错信息,功能有点像Exception类型,其中_message属性中出错信息,_stackTrace中出错的堆栈跟踪信息。
7.千万别说这种回调方法麻烦!其实这是一种常规的异步回调模式,大多数情况(不论什么语言)都会这么写的!
8.页面上完整的代码如下所示:
复制代码 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>











9.运行结果如下所示:
当用户名和密码都是sa时会通过验证
当用户名和官友有一个值不是sa时就不能通过验证 


10. 大家有什么问题给我发Email吧:warensoft@foxmail.com

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/58862.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号