<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

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

        來源:懂視網 責編:小采 時間:2020-11-27 22:43:31
        文檔

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

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

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

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

        2.        IDE會自動為我們生成一個SVC文件,是對外的接口,以及該SVC對應的后臺實現類,該類文件會被放在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.現在我們就可以頁面里調用了,首先在頁面中添加一個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代碼來直接調用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 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.運行結果如下所示:
        當用戶名和密碼都是sa時會通過驗證
        當用戶名和官友有一個值不是sa時就不能通過驗證 


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

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

        文檔

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

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

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 999久久久免费精品播放| 特级毛片爽www免费版| 久久国产色AV免费观看| 亚洲AV午夜成人片| 男女午夜24式免费视频| 亚洲av无码专区国产乱码在线观看 | 最近高清中文字幕免费| 久久久婷婷五月亚洲97号色| 精品亚洲永久免费精品| 亚洲综合在线视频| 国产高清免费视频| 亚洲精品国产av成拍色拍| 国产高清免费在线| v片免费在线观看| 国产l精品国产亚洲区在线观看| 精品四虎免费观看国产高清午夜 | 亚洲一级二级三级不卡| 99re6免费视频| 亚洲色在线无码国产精品不卡| 久久精品国产亚洲77777| 91老湿机福利免费体验| 亚洲宅男精品一区在线观看| 国产免费爽爽视频免费可以看| 一级黄色片免费观看| 久久久无码精品亚洲日韩蜜桃| 91免费播放人人爽人人快乐| 亚洲国产成人久久综合| 相泽亚洲一区中文字幕| 久久久久免费看成人影片| 亚洲国产精品成人AV在线| 亚洲性日韩精品国产一区二区| 日韩精品人妻系列无码专区免费| 亚洲AV无码无限在线观看不卡| 亚洲乱码中文字幕综合234| 最近中文字幕大全免费视频| 亚洲狠狠婷婷综合久久| 国产亚洲精AA在线观看SEE| 人人公开免费超级碰碰碰视频| 午夜亚洲国产理论秋霞| 成人免费视频观看无遮挡| aa级毛片毛片免费观看久|