国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

Javascript 直接調(diào)用服務(wù)器C#代碼 ASP.NET Ajax實例

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:43:31
文檔

Javascript 直接調(diào)用服務(wù)器C#代碼 ASP.NET Ajax實例

Javascript 直接調(diào)用服務(wù)器C#代碼 ASP.NET Ajax實例:在MS Ajax中,JS與C#交互的一種方式就是調(diào)用WebService,該WebService可以ASMX的也可以是WCF的,不論哪種方式,系統(tǒng)都會自動為開發(fā)者生成代理的JS類。實現(xiàn)方法如下: 1. 建立一個網(wǎng)站,并在其中添加一個WCF服務(wù)(這里一定要選擇Ajax-Enabled W
推薦度:
導(dǎo)讀Javascript 直接調(diào)用服務(wù)器C#代碼 ASP.NET Ajax實例:在MS Ajax中,JS與C#交互的一種方式就是調(diào)用WebService,該WebService可以ASMX的也可以是WCF的,不論哪種方式,系統(tǒng)都會自動為開發(fā)者生成代理的JS類。實現(xiàn)方法如下: 1. 建立一個網(wǎng)站,并在其中添加一個WCF服務(wù)(這里一定要選擇Ajax-Enabled W

在MS Ajax中,JS與C#交互的一種方式就是調(diào)用WebService,該WebService可以ASMX的也可以是WCF的,不論哪種方式,系統(tǒng)都會自動為開發(fā)者生成代理的JS類。實現(xiàn)方法如下:

1.        建立一個網(wǎng)站,并在其中添加一個WCF服務(wù)(這里一定要選擇Ajax-Enabled WCF Service),如下圖所示:

2.        IDE會自動為我們生成一個SVC文件,是對外的接口,以及該SVC對應(yīng)的后臺實現(xiàn)類,該類文件會被放在App_Code下,如下圖所示:

height=99

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.現(xiàn)在我們就可以頁面里調(diào)用了,首先在頁面中添加一個ScriptManager,并引入我們剛才編寫的那個WCF WebService(目的是在運行的時候生成JS的代理類),如下所示:
代碼如下:

<%@ 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">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/Service.svc"/>
</Services>
</asp:ScriptManager>
</div>
</form>
</body>
</html>

5.接下來可以編寫JS代碼來直接調(diào)用C#寫的WebService了。JS代碼如下所示:
代碼如下:

<script type="text/javascript">
function ValidateUser(uid, pwd) {
TestAjax.Service.ValidateUser(uid,pwd,OnSucceed ,OnFailed );
}
function OnSucceed(result) {
if (result == true) {
window.alert("通過驗證");
}
else {
window.alert("驗證失敗!");
}
}
function OnFailed(result) {
window.alert("操作失敗:"+result ._message);
}
</script>

6.這里請大家注意,在調(diào)用TestAjax.Service.ValidateUser方法時,代碼中并沒有直接取該函數(shù)的返回值,因為利用這種方案對服務(wù)器函數(shù)的調(diào)用都是異步的,正確的處理方法是指定了兩個回調(diào)函數(shù)OnSucceed和OnFailed,第一個函數(shù)是成功時的回調(diào),后一個是失敗時的回調(diào),這兩個函數(shù)都需要一個參數(shù),OnSucceed的參數(shù)就是服務(wù)器函數(shù)的返回值,而OnFailed的參數(shù)是失敗時的出錯信息,功能有點像Exception類型,其中_message屬性中出錯信息,_stackTrace中出錯的堆棧跟蹤信息。
7.千萬別說這種回調(diào)方法麻煩!其實這是一種常規(guī)的異步回調(diào)模式,大多數(shù)情況(不論什么語言)都會這么寫的!
8.頁面上完整的代碼如下所示:
代碼如下:

<%@ 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>
<script type="text/javascript">
function ValidateUser(uid, pwd) {
TestAjax.Service.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="~/Service.svc"/>
</Services>
</asp:ScriptManager>
</div>
用戶名:<input id="tbxUid" type="text" /><br />
密碼: <input id="tbxPwd" type="text" />
<input id="Button1" type="button" value="驗證" onclick="return Button1_onclick()" />
</form>
</body>
</html>

9.運行結(jié)果如下所示:
當(dāng)用戶名和密碼都是sa時會通過驗證
當(dāng)用戶名和官友有一個值不是sa時就不能通過驗證 


10. 大家有什么問題給我發(fā)Email吧:warensoft@foxmail.com

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Javascript 直接調(diào)用服務(wù)器C#代碼 ASP.NET Ajax實例

Javascript 直接調(diào)用服務(wù)器C#代碼 ASP.NET Ajax實例:在MS Ajax中,JS與C#交互的一種方式就是調(diào)用WebService,該WebService可以ASMX的也可以是WCF的,不論哪種方式,系統(tǒng)都會自動為開發(fā)者生成代理的JS類。實現(xiàn)方法如下: 1. 建立一個網(wǎng)站,并在其中添加一個WCF服務(wù)(這里一定要選擇Ajax-Enabled W
推薦度:
標(biāo)簽: 使用 js 例子
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 精品视频亚洲 | 亚洲欧美精品成人久久91 | 国产成人综合久久精品红 | 91香蕉国产亚洲一区二区三区 | 欧美高清一区二区 | 免费看一级毛片 | 国产区最新 | 视频二区 素人 欧美 日韩 | 国产在线精品一区二区三区不卡 | 久久精品一区二区国产 | 91www成人久久| 伊人色综合97 | 亚洲午夜一区二区三区 | 亚洲一区二区三区精品视频 | 欧美日韩免费一区二区在线观看 | 欧美一区二区三区日韩免费播 | 91专区| 国产在线播放一区 | 国产美女视频黄a视频全免费网站 | 91色欧美| 亚洲欧美一区二区三区久久 | 国产高清免费视频 | 久久福利资源网站免费看 | 手机在线观看国产精选免费 | 久久伊人精品一区二区三区 | 国产精品视频第一区二区三区 | 日韩系列第一页 | 欧美另类在线观看 | 自拍亚洲 | 国产精品高清视亚洲一区二区 | 97人人插| 222aaa免费国产在线观看 | 国产精品第 | 在线观看网站国产 | 成人看片黄a毛片 | 欧美精品免费在线 | 国产精品1区2区3区在线播放 | 国产精品成人一区二区1 | 国产免费一级片 | 欧美在线观看一区二区三区 | 久久婷婷久久一区二区三区 |