亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

Javascript 直接調用服務器C#代碼 ASP.NET Ajax實例

2024-07-10 13:26:36
字體:
來源:轉載
供稿:網友

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

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

Javascript 直接調用服務器C#代碼 ASP.NET Ajax實例

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

Javascript 直接調用服務器C#代碼 ASP.NET Ajax實例

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


5.接下來可以編寫JS代碼來直接調用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.這里請大家注意,在調用TestAjax.Service.ValidateUser方法時,代碼中并沒有直接取該函數的返回值,因為利用這種方案對服務器函數的調用都是異步的,正確的處理方法是指定了兩個回調函數OnSucceed和OnFailed,第一個函數是成功時的回調,后一個是失敗時的回調,這兩個函數都需要一個參數,OnSucceed的參數就是服務器函數的返回值,而OnFailed的參數是失敗時的出錯信息,功能有點像Exception類型,其中_message屬性中出錯信息,_stackTrace中出錯的堆棧跟蹤信息。
7.千萬別說這種回調方法麻煩!其實這是一種常規的異步回調模式,大多數情況(不論什么語言)都會這么寫的!
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 runat="server">
<div>
<asp:ScriptManager runat="server">
<Services>
<asp:ServiceReference Path="~/Service.svc"/>
</Services>
</asp:ScriptManager>
</div>
用戶名:<input type="text" /><br />
密碼: <input type="text" />
<input type="button" value="驗證" />
</form>
</body>
</html>


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

Javascript 直接調用服務器C#代碼 ASP.NET Ajax實例


Javascript 直接調用服務器C#代碼 ASP.NET Ajax實例


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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产古装精品网站| 国产精品一区二区久久国产| 91高清视频免费观看| 欧美成人精品xxx| 91精品久久久久久综合乱菊| 中文字幕日韩在线观看| 国产精品视频区1| 亚洲国产天堂久久综合网| 亚洲人成在线一二| 91免费看国产| 久久久久久亚洲精品不卡| 青青青国产精品一区二区| 欧美精品videosex极品1| 92国产精品视频| 亚洲男人天天操| 日韩资源在线观看| 日韩精品视频免费| 日韩在线观看电影| 992tv在线成人免费观看| 日韩av在线免费观看一区| 国产精品白丝av嫩草影院| 国产亚洲美女久久| 欧洲亚洲在线视频| 亚洲va国产va天堂va久久| 欧美大奶子在线| 日韩欧美在线观看视频| 精品久久久精品| 精品国产91乱高清在线观看| 国产午夜一区二区| 欧美日韩精品在线观看| 亚洲国产成人在线视频| 91精品国产乱码久久久久久久久| 日韩高清人体午夜| 国产中文字幕亚洲| 69av在线播放| 日韩在线观看电影| 亚洲天天在线日亚洲洲精| 日韩欧美在线看| 久久这里有精品视频| 97超级碰碰碰| 不卡av电影在线观看| 国产精品一二三在线| yw.139尤物在线精品视频| 成人天堂噜噜噜| 国产va免费精品高清在线观看| 国产成人精品免费视频| 免费av在线一区| 国产日韩精品入口| 伊人精品在线观看| 91超碰中文字幕久久精品| 国产精品福利无圣光在线一区| 亚洲黄色av女优在线观看| 懂色av一区二区三区| 亚洲成人av资源网| 庆余年2免费日韩剧观看大牛| 欧美—级a级欧美特级ar全黄| 欧美日韩在线免费| 精品香蕉在线观看视频一| 北条麻妃一区二区三区中文字幕| 丝袜亚洲另类欧美重口| 91精品国产沙发| 激情亚洲一区二区三区四区| 亚洲欧美一区二区三区情侣bbw| 国产精品中文字幕在线观看| 亚洲精品理论电影| 国产成人涩涩涩视频在线观看| 亚洲成av人片在线观看香蕉| 国产精品亚发布| 国产精品爱啪在线线免费观看| 欧美大胆a视频| 亚洲成人xxx| 日韩中文字幕国产精品| 国产成人av在线| 视频一区视频二区国产精品| 伊人久久免费视频| 国产一区二区三区在线观看网站| 欧美激情视频一区| 欧美在线欧美在线| 欧美日韩国产丝袜另类| 国产中文字幕亚洲| 午夜精品久久久久久久久久久久| 国产主播精品在线| 久久精品中文字幕一区| 亚洲精品日韩久久久| 91精品国产色综合久久不卡98| 亚洲综合社区网| 亚洲欧美在线第一页| 亚洲女人被黑人巨大进入al| 久久久久久久久久久久av| 91精品啪在线观看麻豆免费| 色综久久综合桃花网| 日韩免费av片在线观看| 欧美插天视频在线播放| 亚洲男人天堂2023| 国产成人精品在线观看| 一区二区三区天堂av| 国产999精品视频| 国产精品99免视看9| 久久综合色88| 最近2019中文字幕mv免费看| 国产日韩精品入口| 欧美激情一区二区久久久| 久久视频在线直播| 亚洲va电影大全| 一本色道久久88综合日韩精品| 亚洲国产成人在线视频| 欧美美最猛性xxxxxx| 日韩精品在线免费观看视频| 韩国日本不卡在线| 欧美国产日韩精品| 亚洲国产高清自拍| 久久久久久国产三级电影| 91精品国产乱码久久久久久久久| 日韩资源在线观看| 国产精品第3页| 亚洲成人激情在线| 亚洲成人黄色网址| 国产一区香蕉久久| 日韩av在线网| 久久久精品影院| 国产精品美女午夜av| 亚洲伊人久久综合| 欧美劲爆第一页| 日本韩国欧美精品大片卡二| 国产成人激情小视频| 日本精品在线视频| 国产精品精品久久久久久| 懂色av影视一区二区三区| 伦伦影院午夜日韩欧美限制| 亚洲国产精品久久久久秋霞不卡| 成人中文字幕+乱码+中文字幕| 欧美性猛交xxxx免费看久久久| 亚洲男人的天堂在线播放| 亚洲一区二区三区视频播放| 中文字幕视频一区二区在线有码| 色狠狠久久aa北条麻妃| 亚洲欧洲午夜一线一品| 久久亚洲春色中文字幕| 欧美一级高清免费| 国产精品视频男人的天堂| 亚洲自拍小视频免费观看| 国产一区二区三区在线免费观看| 97热精品视频官网| 亚洲精品成a人在线观看| 热久久免费国产视频| 亚洲aa中文字幕| 日韩欧美极品在线观看| 久久影视电视剧免费网站| 麻豆成人在线看| 亚洲最大成人在线| 亚洲精品98久久久久久中文字幕| 亚洲国产天堂久久国产91| 欧美日韩国产一区在线| 亚洲成人激情视频| 亚洲开心激情网| 91精品免费久久久久久久久| 国产97在线|日韩| 欧美性高潮床叫视频| 国产成人精品亚洲精品| 国产精品精品视频一区二区三区| 国产a级全部精品| 亚洲男人天堂视频| 亚洲免费影视第一页| 亚洲成人在线网|