<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關(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)前位置: 首頁 - 科技 - 知識百科 - 正文

        Asp.Net 和 AJAX.Net 的區(qū)別第1/2頁

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

        Asp.Net 和 AJAX.Net 的區(qū)別第1/2頁

        Asp.Net 和 AJAX.Net 的區(qū)別第1/2頁:原文:http://www.microsoft.com/china/msdn/library/webservices/asp.net/us0501ASPNETPerformance.mspxmfr=true適用于:AJAX(異步 JavaScript 和 XML)Microsoft AJAX.NETMicrosoft ASP.NET 摘要:了解如
        推薦度:
        導(dǎo)讀Asp.Net 和 AJAX.Net 的區(qū)別第1/2頁:原文:http://www.microsoft.com/china/msdn/library/webservices/asp.net/us0501ASPNETPerformance.mspxmfr=true適用于:AJAX(異步 JavaScript 和 XML)Microsoft AJAX.NETMicrosoft ASP.NET 摘要:了解如

        原文:
        http://www.microsoft.com/china/msdn/library/webservices/asp.net/us0501ASPNETPerformance.mspx?mfr=true

        適用于:
        AJAX(異步 JavaScript 和 XML)
        Microsoft AJAX.NET
        Microsoft ASP.NET

        摘要:了解如何將 AJAX(異步 JavaScript 和 XML)用于您的 Microsoft ASP.NET 應(yīng)用程序,使其互動性更強(qiáng)、響應(yīng)更及時。

        下載本文的代碼示例 AjaxASPNETCS.msi(使用 C# 語言)

        下載本文的代碼示例 AjaxASPNETVB.msi(使用 Visual Basic 語言)

        本頁內(nèi)容
        簡介 簡介
        什么是 AJAX? 什么是 AJAX?
        用于 ASP.NET 的 AJAX 用于 ASP.NET 的 AJAX
        手頭的 AJAX 手頭的 AJAX
        AJAX 與您 AJAX 與您
        結(jié)論 結(jié)論

        簡介

        自從開始 Web 編程以來,在 Web 應(yīng)用程序和桌面應(yīng)用程序之間一直存在著許多取舍。例如,人們通常認(rèn)為 Web 應(yīng)用程序提供的用戶界面類型沒有桌面應(yīng)用程序提供的用戶界面類型那樣豐富。另一方面,Web 應(yīng)用程序是獨立的平臺,其開發(fā)機(jī)制比較簡單。提供響應(yīng)更及時的應(yīng)用程序看似是一項簡單的任務(wù),但對于 Web 開發(fā)人員來說卻是一直以來需要攻克的領(lǐng)域。

        傳統(tǒng)意義上,只能通過向 Web 服務(wù)器提交新的請求來檢索對用戶輸入所做的響應(yīng)。在某些情況下,開發(fā)人員可以使用 JavaScript 在客戶端上加載所有響應(yīng),從而提供更好的用戶體驗。此技術(shù)的常見示例是基于所選國家/地區(qū)來動態(tài)加載一系列州或省。遺憾的是,在很多情況下,不將所有響應(yīng)都返回或加載到 JavaScript 要更好。返回操作會使過多的 UI 斷開連接,或在客戶端上需要過量的數(shù)據(jù),這經(jīng)常導(dǎo)致生成不易讀的 JavaScript。AJAX 提供了一種新的中間選擇,能夠在維持及時響應(yīng)和靈活性的同時利用基于服務(wù)器的應(yīng)用程序。

        返回頁首返回頁首

        什么是 AJAX?

        AJAX 是 Asynchronous JavaScript And XML(異步 JavaScript 和 XML)的縮寫,它不是一項技術(shù),而是很多技術(shù)的集合。AJAX 使用通信技術(shù)(通常為 SOAP 和 XML)發(fā)送和接收對服務(wù)器的異步請求/響應(yīng),然后利用顯示技術(shù)(JavaScript、DOM、HTML 和 CSS)處理響應(yīng)。如今,使用 AJAX 的應(yīng)用程序是合法的,因為多數(shù)瀏覽器都支持這項必需的技術(shù)。有關(guān) AJAX 更詳細(xì)的定義,請訪問 AJAX Wikipedia entry(英文)。

        AJAX 到底是什么?AJAX 使您能夠通過 JavaScript 調(diào)用執(zhí)行服務(wù)器端方法,而不需要刷新瀏覽器。將它視為發(fā)生于用戶后臺的小型請求/響應(yīng)。如果您仍不清楚 AJAX 是什么,請看 Google 上的兩個常見示例:Google Suggests(英文)和 Google Maps(英文)。如果您不熟悉 AJAX,這兩個應(yīng)用程序的響應(yīng)會使您有點興奮。

        返回頁首返回頁首

        用于 ASP.NET 的 AJAX

        很多因素促使 AJAX 應(yīng)運而生。您可能不想花費幾個小時或幾天來了解 AJAX 的內(nèi)部原理,而是更希望現(xiàn)在就開始創(chuàng)建啟用了 AJAX 的應(yīng)用程序,來滿足現(xiàn)有需求(如果您確實想知道 AJAX 內(nèi)部工作原理,我肯定不是可以詢問的人)。開發(fā)人員可以用來快速入門的工具有很多。不過我們將特別關(guān)注由 Michael Schwarz 編寫的源代碼開放的免費 Ajax.NET。Ajax.NET 考慮到所有的實現(xiàn)細(xì)節(jié)是基于 .NET 的,并且能夠被擴(kuò)展。Microsoft ASP.NET 2.0 通過客戶端回調(diào)功能(英文)引入了獨具特色的異步回調(diào),并且最近宣布(英文)代號為“Atlas”的 AJAX 正在實現(xiàn)中。

        術(shù)語可能有些混亂,但是當(dāng)我介紹 AJAX 時,就是在介紹從客戶端異步調(diào)用服務(wù)器端函數(shù)的整體框架。提到 Ajax.NET 時,我是指能夠幫助您創(chuàng)建利用 AJAX 框架的解決方案的特定實現(xiàn)。

        要了解有關(guān) ASP.NET 2.0 客戶端回調(diào)功能的詳細(xì)信息,請訪問 Bertrand Le Roy 的博客(英文)。

        返回頁首返回頁首

        手頭的 AJAX

        本文的剩余部分將使用 Ajax.NET 著重介紹三個利用 AJAX 功能的有意義的示例。本指南將包含以 Microsoft C# 和 Microsoft Visual Basic .NET 編寫的代碼,有時同時提供這兩種代碼,有時僅提供其中一種代碼。實現(xiàn)所有這一切的代碼很容易,C# 開發(fā)人員能夠很容易地遵循僅以 Visual Basic .NET 編寫的代碼,反之亦然!本文包含的示例 C# 和 Visual Basic .NET 項目可供下載,并提供工作代碼和運行代碼。在學(xué)習(xí)示例以前,首先需要了解如何安裝和使用 Ajax.NET。

        Ajax.NET

        AJAX.NET 文檔(英文)和網(wǎng)站(英文)對開發(fā)人員快速入門非常有用。在介紹使用此技術(shù)的一些具體示例之前,我們將簡要回顧您所需要知道的核心步驟。

        首先從 AJAX.NET 項目網(wǎng)站(英文)上下載并解壓縮 AJAX 文件,然后按照您的喜好在 Visual Basic .NET 或 C# 中創(chuàng)建新的 ASP.NET 項目,再向 AJAX.dll 文件添加引用(英文)。唯一的額外配置步驟是在 <system.web> 元素中(位于 web.config 文件中)添加以下代碼。

        <configuration>
        <system.web>
        <httpHandlers>
        <!-- Register the ajax handler -->
        <add verb="POST,GET" path="ajax/*.ashx"
        type="Ajax.PageHandlerFactory, Ajax" />
        </httpHandlers>
        ...
        ...
        </system.web>
        </configuration>
        

        為了使服務(wù)器端函數(shù)在 JavaScript 中可用,必須做兩件事情。首先,要使用的函數(shù)必須標(biāo)有 Ajax.AjaxMethodAttribute。其次,在頁加載事件期間,必須通過調(diào)用 Ajax.Utility.RegisterTypeForAjax 來注冊包含這些函數(shù)的類。聽起來似乎有些復(fù)雜,但請不必?fù)?dān)心;實際上只需要在代碼中多加兩行。讓我們看一個示例。

        //C#
        public class Sample :System.Web.UI.Page
        {
        private void Page_Load(object sender, System.EventArgs e)
        {
        //注冊我們感興趣的包含服務(wù)器端函數(shù)
        //的類
        Ajax.Utility.RegisterTypeForAjax(typeof(Sample));
        }
        [Ajax.AjaxMethod()]
        public string GetMessageOfTheDay()
        {
        return "Experience is the mother of wisdom";
        }
        }
        'VB.NET
        Public Class Sample
        Inherits System.Web.UI.Page
        Private Sub Page_Load(sender AsObject, e As EventArgs)
        Handles MyBase.Load
        '注冊我們感興趣的包含服務(wù)器端函數(shù)
        '的類
        Ajax.Utility.RegisterTypeForAjax(GetType(Sample))
        End Sub
        <Ajax.AjaxMethod()> _
        Public Function GetMessageOfTheDay() As String
        Return "Experience is the mother of wisdom"
        End Function
        End Class
        

        以上示例首先告知 Ajax.NET 在 Sample 類中查找友好的 Ajax 方法。它正好是與實際頁相同的類,但是它可以是任意 .NET 類,或可以注冊多個類。然后,Ajax.NET 將瀏覽指定的類,來查找標(biāo)有 AjaxMethodAttribute 的所有方法,其中 Sample 類有一個 GetMessageOfTheDay

        完成后,剩下唯一要做的就是在 JavaScript 中使用它。Ajax.NET 自動創(chuàng)建與注冊的類具有相同名稱的 JavaScript 變量(在本例中將為 Sample),它提供與 AjaxMethod 具有相同名稱的函數(shù)(在本例中為 GetMessageOfTheDay)。如下所示。

        <script language="javascript">
        Sample.GetMessageOfTheDay(GetMessageOfTheDay_CallBack);
        function GetMessageOfTheDay_CallBack(response)
        {
        alert(response.value);
        }
        </script>
        

        除了 JavaScript 回調(diào)函數(shù)以外,JavaScript GetMessageOfTheDay 還需要與其服務(wù)器端對應(yīng)部分相同的參數(shù)(在此情況下,沒有參數(shù)),以便在完成時執(zhí)行并傳遞響應(yīng)。在此,我們看到 AJAX 在工作時的異步特性,因為對 GetMessageOfTheDay 的調(diào)用不阻礙執(zhí)行其他 JavaScript 代碼,也不阻礙用戶繼續(xù)在頁上進(jìn)行操作。完成服務(wù)器端處理時,Ajax.NET 調(diào)用指定的回調(diào)函數(shù) GetMessageOfTheDay_CallBack,并向其傳遞由服務(wù)器端返回值組成的響應(yīng)。

        服務(wù)器端代碼和 JavaScript 代碼之間的映射可能有些混亂。圖 1 簡要顯示了服務(wù)器端代碼和 JavaScript 代碼,以及兩者之間的映射。


        1:服務(wù)器端代碼和 JavaScript 代碼之間的映射

        當(dāng)然令人感興趣的 Ajax.NET 還有更多內(nèi)容值得介紹,例如對 .NET 類型的支持和豐富的回調(diào)響應(yīng)(它不僅僅是值)。以下示例將會重點介紹某些功能,希望幫助您理解 AJAX 如何幫助您創(chuàng)建成功的應(yīng)用程序。

        示例 1:鏈接的下拉列表

        本文的開始簡要地討論了用于鏈接兩個 DropDownList 的兩種傳統(tǒng)方法。當(dāng)選定的索引更改時,返回頁;或者將所有可能的數(shù)據(jù)加載到 JavaScript 數(shù)組并動態(tài)顯示。希望您可以看到 AJAX 如何替代這兩種解決方案。

        首先,讓我們來看一下我們的數(shù)據(jù)界面,并從該數(shù)據(jù)界面驅(qū)動示例。我們的數(shù)據(jù)訪問層將提供兩種方法:第一種方法將檢索系統(tǒng)支持的國家/地區(qū)的列表,第二種方法將獲取國家/地區(qū) ID 并返回州/省的列表。由于這是純數(shù)據(jù)訪問,因此我們只需要使用方法。

        //C#
        public static DataTable GetShippingCountries();
        public static DataView GetCountryStates(int countryId);
        'VB.NET
        Public Shared Function GetShippingCountries() As DataTable
        Public Shared Function GetCountryStates(ByVal countryId As Integer)
        As DataView
        

        現(xiàn)在,讓我們轉(zhuǎn)到相反面,創(chuàng)建簡單的 Web 窗體。

        <asp:DropDownList ID="countries" Runat="server" />
        <asp:DropDownList ID="states" Runat="server" />
        <asp:Button ID="submit" Runat="server" Text="Submit" />
        

        Page_Load 事件同樣簡單,和前述的 Web 窗體一樣。我們使用數(shù)據(jù)訪問層來檢索可用的國家/地區(qū),并將其綁定到 countriesDropDownList 中。

        //C#
        if (!Page.IsPostBack)
        {
        countries.DataSource = DAL.GetShippingCountries();
        countries.DataTextField = "Country";
        countries.DataValueField = "Id";
        countries.DataBind();
        countries.Items.Insert(0, new ListItem("Please Select", "0"));
        }
        

        通常,代碼到此為止。首先,我們將創(chuàng)建要從 JavaScript 調(diào)用的服務(wù)器端函數(shù)。

        'VB.NET
        <Ajax.AjaxMethod()> _
        Public Function GetStates (ByVal countryId As Integer) As DataView
        Return DAL.GetCountryStates(countryId)
        End Function
        

        12下一頁閱讀全文

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

        文檔

        Asp.Net 和 AJAX.Net 的區(qū)別第1/2頁

        Asp.Net 和 AJAX.Net 的區(qū)別第1/2頁:原文:http://www.microsoft.com/china/msdn/library/webservices/asp.net/us0501ASPNETPerformance.mspxmfr=true適用于:AJAX(異步 JavaScript 和 XML)Microsoft AJAX.NETMicrosoft ASP.NET 摘要:了解如
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲一区二区三区乱码在线欧洲| 亚洲AV无码久久精品色欲| 亚洲av无码一区二区三区天堂古代| 野花香高清视频在线观看免费| 中文字幕人成人乱码亚洲电影| 一本久久A久久免费精品不卡| 精品国产亚洲男女在线线电影| 亚洲阿v天堂在线2017免费| 久久久久国产亚洲AV麻豆| 一级毛片大全免费播放| 黑人大战亚洲人精品一区| 久久99免费视频| 久久亚洲精品无码aⅴ大香| 中文毛片无遮挡高潮免费| 亚洲综合激情五月丁香六月| 毛片a级毛片免费观看品善网| 亚洲AV无码一区二区三区牲色 | 日韩亚洲翔田千里在线| 国产婷婷高清在线观看免费| 男女作爱免费网站| 日韩亚洲欧洲在线com91tv| 免费女人高潮流视频在线观看 | 四虎国产精品成人免费久久| 亚洲日韩在线观看免费视频| A片在线免费观看| 亚洲国产美女视频| 国产网站免费观看| 成在人线av无码免费高潮水| 久久久久亚洲AV无码麻豆| 成人激情免费视频| 亚洲精品视频免费观看| 亚洲精品不卡视频| 在线观看免费国产视频| 免费成人在线电影| 亚洲日韩久久综合中文字幕| 亚洲性日韩精品国产一区二区| 99在线观看视频免费| 国产亚洲人成在线播放| 久久精品国产亚洲AV香蕉| 日韩激情淫片免费看| 亚洲精品免费视频|