<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
        主站蜘蛛池模板: 亚洲成a人片在线不卡一二三区| 亚洲性无码av在线| 午夜亚洲国产理论片二级港台二级| 永久黄色免费网站| 亚洲精品亚洲人成在线麻豆| 免费国产黄网站在线观看 | 91热成人精品国产免费| 亚洲美女视频一区| 无码少妇一区二区浪潮免费| 天堂亚洲国产中文在线| 成年性生交大片免费看| 国产精品亚洲一区二区三区| 亚洲av高清在线观看一区二区| a级毛片免费网站| 亚洲精品自在在线观看| 一级成人a毛片免费播放| 亚洲va精品中文字幕| 日本高清免费不卡在线| 又硬又粗又长又爽免费看 | 久久精品国产亚洲AV嫖农村妇女| 国产91免费视频| 亚洲av无码一区二区三区四区| 亚洲А∨精品天堂在线| 97无码人妻福利免费公开在线视频 | 日韩亚洲产在线观看| 四虎影库久免费视频| 7x7x7x免费在线观看| 亚洲女人初试黑人巨高清| 好男人视频社区精品免费| 一本岛v免费不卡一二三区| 亚洲国产一区二区a毛片| 成人性生交大片免费看无遮挡| 青娱乐在线视频免费观看| 亚洲日本中文字幕| 日韩免费高清视频网站| 中文字幕免费播放| 在线综合亚洲中文精品| 国产午夜亚洲精品理论片不卡 | a级毛片毛片免费观看久潮喷| 亚洲乱码无限2021芒果| 亚洲人成电影在线播放|