這篇文章主要介紹了ASP.NET利用AjaxPro完成前端跟后臺(tái)交互的方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的廣陵網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
引言
一.首先,還是那句話,欲練神功,必先自宮。我們開發(fā)程序第一步首先是搭建環(huán)境。

啟動(dòng)Visual Studio ,我的版本是2012啊,不過這個(gè)不影響的。先創(chuàng)建一個(gè)網(wǎng)站項(xiàng)目, 在項(xiàng)目中加入 Bin 目錄,再添加一個(gè) Index 頁面。
然后,我們需要去網(wǎng)上下載 AjaxPro.2.dll 百度一下就一堆鏈接,這里我就不多說什么了。然后把下載到的 AjaxPro.2.dll 的文件復(fù)制或引入到 Bin 目錄中。接著,在 Web.config的 <system.web> 標(biāo)簽下寫入以下內(nèi)容。

<httpHandlers> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/> </httpHandlers>
并且在服務(wù)器后臺(tái)類中,作以下修改:
using AjaxPro; //(1) AjaxPro.Utility.RegisterTypeForAjax(typeof(Index)); //(2) [AjaxPro.AjaxMethod] //(3)
(1):引入 AjaxPro 命名空間
(2):注冊類信息到前臺(tái)頁面
(3):每個(gè)前臺(tái)頁面需要調(diào)用的函數(shù)前面加上這個(gè)

這里我這有個(gè)實(shí)例,注意一點(diǎn):在 Page_Load()函數(shù)當(dāng)中,使用了一個(gè)判斷。 if(Page.IsCallback)它的作用是它 獲得一個(gè)值,表示頁面請求是否是回調(diào)的結(jié)果。它的一個(gè)特殊的回傳,所以往返總是發(fā)生;但是,與傳統(tǒng)的回發(fā)不同,腳本回調(diào)不會(huì)重繪整個(gè)頁面。 這是在別的博主那里爬來的,這是原文,也是個(gè)人的一個(gè)小編程習(xí)慣,我也不知道具體有什么用,但是我就是知道有用。
以上,咱們就把這個(gè) AjaxPro.2 環(huán)境搭建完了。
二. 接著,就開始調(diào)用了。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="Index" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>AjaxPro.2.dll</title>
<script>
function show() {
//(1)
var name = Index.getName().value;
alert("My Name is :" + name);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<p>
<input type="button" value="show" onclick="show()" />
</p>
</form>
</body>
</html>這里, Index 是這個(gè)類的類名,不知道還記不記得。咱們寫過這樣一段代碼 AjaxPro.Utility.RegisterTypeForAjax(typeof(Index)); 在配置環(huán)境的時(shí)候申明的類名。前端頁面也是通過這個(gè)找到我們的類的。.value 也是一個(gè)重點(diǎn),我記的我第一次用這個(gè)插件的時(shí)候。返回一個(gè) Password 判斷是否登陸成功,一直都是失敗,這個(gè)插件頁面用日志信息,我就只能一個(gè)一個(gè) alert 終于讓我抓著了,如果這里不用 value 會(huì)獲取很多實(shí)際應(yīng)用用不上的信息,這里需要注意。
1)以為這樣就可以調(diào)用成功了?太天真了,這里咱們說第一個(gè)細(xì)節(jié):改變項(xiàng)目的托管管道模式
鼠標(biāo)單擊選中這個(gè)項(xiàng)目,然后按 F4 鍵,會(huì)出現(xiàn)這個(gè)項(xiàng)目的屬性。將這個(gè)屬性改成傳統(tǒng)型,就行了。如果是集成,則會(huì)報(bào) 500.23


2)還有一點(diǎn),也是一個(gè)錯(cuò)誤。這種錯(cuò)誤編譯時(shí)不會(huì)出錯(cuò),加載頁面時(shí)也不出錯(cuò)。只有調(diào)用到 AjaxPro.2 的是時(shí)候才報(bào)錯(cuò)Uncaught ReferenceError: Index is not defined 當(dāng)調(diào)用后臺(tái)代碼的不起作用時(shí)就需要注意是否是這個(gè)問題,因?yàn)檫@個(gè)報(bào)錯(cuò)它不會(huì)出現(xiàn)在頁面,也不會(huì)被編譯。想要看到這個(gè)錯(cuò)誤,必須按 F12 頁面調(diào)試,我知道Google Chrome 瀏覽器 的錯(cuò)誤顯示在 Console 選項(xiàng)卡當(dāng)中,其他瀏覽器博主就不是特別清楚了。

這個(gè)錯(cuò)誤的原因啊,博主也查了許多資料,但是很少有具體的描述。這里博主也只能做一個(gè)博主自己的總結(jié),如果有人知道哪里有錯(cuò)誤,希望各位能積極指正(別客氣,互相進(jìn)步啊!!)。博主的分析呢,就是因?yàn)榇罱ōh(huán)境時(shí),又什么地方出了問題。 搭建環(huán)境博主剛剛也在前文中講的比較清楚了,如果出現(xiàn)這個(gè)錯(cuò)誤,應(yīng)該有 7 成是這個(gè)原因。
3)這也是一個(gè)博主告訴我的細(xì)節(jié)啊!他這么說的:調(diào)用的時(shí)候,不一定要用聲明的那個(gè)類名喔。可以使用 [AjaxNamespace("DEMO")] 這個(gè)標(biāo)簽,對這個(gè)類進(jìn)行重命名。博主試了一下,確實(shí)是可以的。把這個(gè)標(biāo)簽放在被調(diào)用的類前面,記得是類前面哦。就可以了。



可以看到,效果是實(shí)現(xiàn)了的!這個(gè)標(biāo)簽還是非常實(shí)用的。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享ASP.NET利用AjaxPro完成前端跟后臺(tái)交互的方法內(nèi)容對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!
分享文章:ASP.NET利用AjaxPro完成前端跟后臺(tái)交互的方法
文章地址:http://chinadenli.net/article20/pgjico.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、標(biāo)簽優(yōu)化、軟件開發(fā)、網(wǎng)站設(shè)計(jì)、云服務(wù)器、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)