成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET AJAX示例:論壇主題搜索

開發(fā) 后端
本文介紹ASP.NET AJAX示例:論壇主題搜索的實現(xiàn)。本功能的目的是嘗試幫助用戶自己找到問題的答案,以及限制重復(fù)發(fā)布的數(shù)量。

ASP.NET AJAX示例:論壇主題搜索

我們要看的***一個示例是對現(xiàn)有應(yīng)用程序的修改。我***聽到這個想法是 Josh Ledgard設(shè)想在 MSDN 論壇里添加一個功能。目的是嘗試幫助用戶自己找到問題的答案,以及限制重復(fù)發(fā)布的數(shù)量。一般來說,用戶在論壇中提出新問題時,他或她會輸入主題和問題。他們通常都不會先進(jìn)行搜索,來查看是否已經(jīng)提出和回答過該問題。輸入 AJAX。用戶輸入主題(并將 Tab 鍵移出該字段)后,我們基于該主題異步搜索論壇,并適時地向用戶顯示結(jié)果。有時這些結(jié)果會有幫助,有時候則不會。

為使結(jié)果有幫助,我們將修改 asp.NETPRO Reader's Choice Award for Best Forum Application, CommunityServer。可下載的示例中不包含這一部分(或論壇)的代碼,但是您能在 http://communityserver.org/(英文)學(xué)到關(guān)于 CommunityServer 的更多知識,并且可在其中應(yīng)用下面這些代碼片斷。

安裝 CommunityServer 并配置 Ajax.NET(已將引用和處理程序添加到 web.config)后,我們只需要進(jìn)行一些更改就可以獲得所需的功能。首先,我們轉(zhuǎn)到 CommunityServerForums 項目中的 CreateEditPost.cs 文件。將它視為此頁的后面的代碼,其中用戶可以添加新的發(fā)布。下面我們將添加啟用了 AJAX 的函數(shù)。

  1. //C#:ASP.NET AJAX示例  
  2. [Ajax.AjaxMethod()]  
  3. public static ArrayList Search(string search)  
  4. {  
  5. SearchQuery query = new SearchQuery();  
  6. query.PageIndex = 0; //獲得前 10 個結(jié)果  
  7. query.PageSize = 10;  
  8. query.UserID = Users.GetUser().UserID;  
  9. query.SearchTerms = search;  
  10. return new ForumSearch().GetSearchResults(query).Posts;  
  11. }  

我們能夠利用已經(jīng)在 CommunityServer 中創(chuàng)建的搜索功能,只需要我們的函數(shù)能應(yīng)用它。如往常一樣,類型必須使用 Ajax.NET 注冊。我們將在同一文件的 InitializeSkin 函數(shù)(將其視為 Page_Load)中進(jìn)行此操作。

  1. //C#:ASP.NET AJAX示例  
  2. Ajax.Utility.RegisterTypeForAjax(typeof(CreateEditPost));  

在轉(zhuǎn)跳到 JavaScript 之前,我們需要進(jìn)行***的服務(wù)器端更改。返回到 Ajax.NET 的自定義類(例如我們正在返回的 ArrayList 所包含的 ForumPost)必須標(biāo)有 Serializable 屬性。我們要做的是轉(zhuǎn)到 CommunityServerForums 項目中的 Components/ForumPost.cs 文件,并添加此屬性。

  1. //C#:ASP.NET AJAX示例  
  2. [Serializable]  
  3. public class ForumPost :Post  
  4. {  
  5.  ...  
  6. }  

顯示時,我們僅需要修改 CommunityServerWeb 項目中的 Themes/default/Skins/View-EditCreatePost.cs。首先,我們將觸發(fā)主題文本框的 onBlur 事件。

  1. < asp:textbox onBlur="Search(this.value);" 
  2. id="PostSubject" runat="server" ... /> 

接著,我們編寫 JavaScript Search 方法,以便調(diào)用服務(wù)器端 Search。

  1. var oldValue = '';  
  2. function Search(value)  
  3. {   
  4. //不要再次搜索剛搜索過的內(nèi)容  
  5. //如果用戶向后或向前移動 Tab 鍵將會發(fā)生  
  6. if (value != oldValue)  
  7.   {  
  8. CreateEditPost.Search(value, Search_CallBack);  
  9. oldValue = value;  
  10.   }  
  11. }  

***,剩下的就是處理響應(yīng)。由于上一個示例介紹了在表中顯示結(jié)果的稍微正規(guī)的方式,我們將僅僅創(chuàng)建一些動態(tài)的 HTML,并將它粘貼到虛擬的 DIV 中。

  1. function Search_CallBack(response)  
  2. {  
  3. //由于沒有結(jié)果時搜索功能將自動重定向,  
  4. //因此,我們不能使用 response.error。  
  5. var results = response.value;  
  6. //如果我們沒有獲得結(jié)果  
  7. if (results == null)  
  8.  {  
  9. return;  
  10.  }  
  11. //我們用于放置結(jié)果的 DIV  
  12. var someDiv = document.getElementById("someDiv");  
  13. var html = "";  
  14. for (var i = 0; i <  results.length; ++i)  
  15.  {  
  16. var result = results[i];  
  17. html += "< a target=_blank href='" + result.PostID  
  18. html += "/ShowPost.aspx'>";     
  19. html += result.Subject;  
  20. html += "< /a>< br />" 
  21.  }  
  22. someDiv.innerHTML = html;  
  23. }  

通過對 CommunityServer 應(yīng)用程序的三個文件(加上用于配置的 web.config)稍微進(jìn)行修改,我們可以添加一些非常有用的功能。但是,只向現(xiàn)有的應(yīng)用程序添加啟用 AJAX 功能時要小心操作。正在進(jìn)行實際搜索的預(yù)先存在的 ForumSearch 類可能并不是為我們介紹的使用類型設(shè)計的。我們的代碼很可能會導(dǎo)致執(zhí)行一些額外的搜索,影響可能會很顯著。

以上就是ASP.NET AJAX示例:論壇主題搜索的實現(xiàn)方法。

【編輯推薦】

  1. ASP.NET AJAX示例:文檔鎖定程序
  2. ASP.NET AJAX示例:下拉列表
  3. AJAX.NET安裝配置全指南
  4. Ajax.Net快速入門
  5. ASP.NET AJAX軟件下載
責(zé)任編輯:yangsai 來源: MSDN
相關(guān)推薦

2009-08-07 16:09:25

ASP.NET AJA

2009-08-07 16:27:59

ASP.NET AJA

2009-07-22 16:11:43

ASP.NET AJA

2009-07-22 16:17:39

ASP.NET AJA

2009-07-22 16:25:41

ASP.NET AJA

2009-07-24 13:41:15

ASP.NET AJA

2009-07-22 16:05:34

ASP.NET AJA

2009-07-22 15:58:52

ASP.NET AJA

2009-07-31 13:24:43

ASP.NET AJA

2009-07-29 13:50:26

UpdatePanelASP.NET

2009-07-20 10:16:13

配置ASP.NET A

2009-07-28 09:02:32

asp.net aja

2009-07-21 17:18:26

UpdateProgrASP.NET AJA

2009-07-29 15:53:22

ASP.NET AJA

2009-07-20 13:14:25

安裝ASP.NET A

2009-07-20 17:39:36

WCF服務(wù)ASP.NET AJA

2009-07-20 13:54:31

ScriptManagASP.NET AJA

2009-07-31 10:34:41

ASP.NET抓取網(wǎng)頁

2009-07-20 17:59:07

JavaScript調(diào)ASP.NET AJA

2009-07-21 09:53:55

ASP.NET AJAWCF服務(wù)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲精品成人av久久 | 精品视频一区二区三区在线观看 | 亚洲一二三区在线观看 | 国产伦精品一区二区三区四区视频 | 中文字幕亚洲一区二区三区 | 999国产视频 | 亚洲精品日韩一区二区电影 | 91精品久久久久久久 | 欧美一级欧美一级在线播放 | 影音先锋男 | 国产日韩久久 | 久久国产欧美日韩精品 | 欧美一区二区三区在线看 | av三级在线观看 | 成人免费观看男女羞羞视频 | 亚洲免费人成在线视频观看 | 91精品国产美女在线观看 | 亚洲精品9999久久久久 | 91资源在线| 国内av在线| 中文字幕国产视频 | 黑人成人网 | 日本久久www成人免 成人久久久久 | 午夜精品视频一区 | 一区二区中文字幕 | 91精品久久久久久久久中文字幕 | 色伊人久久 | 91精品国产91久久久久久密臀 | 狠狠婷婷综合久久久久久妖精 | 欧美综合在线观看 | 国产中文 | 日韩精品一区二区三区在线播放 | 青青草社区| 国产精品视频网 | 亚洲色在线视频 | 99久久精品国产一区二区三区 | 99久久免费精品国产男女高不卡 | 91免费在线播放 | a在线视频 | 亚洲精品乱码8久久久久久日本 | 亚洲在线一区二区 |