91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AjaxPro中怎么實現無刷新數據檢測功能

發布時間:2021-08-06 16:00:17 來源:億速云 閱讀:90 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關AjaxPro中怎么實現無刷新數據檢測功能,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

使用AjaxPro實現無刷新數據檢測

Ajax(Asynchronous JavaScript and XML,異步JavaScript 和XML)的應用,可以創建更好、更快、以及交互性更強的 Web 應用程序。利用AjaxPro可以輕松創建Ajax應用。本文主要總結一下AjaxPro的使用步驟,并實現Ajax無刷新檢測數據的簡單功能。

在傳統方式中,用戶注冊的時候,常常需要用戶填寫完整個表單,再提交給服務器。當系統檢測該用戶名已存在,便返回提示用戶,并需要重新填寫整個表單,用戶體驗很不好。

而使用Ajax技術,在用戶注冊過程中,當用戶輸入了想注冊的用戶名后,鼠標離開編輯框,系統就檢測該用戶名是否存在,并立即提示用戶該用戶名是否可用。現在的網站基本都采取了這種方法,避免傳統方式的弊端,提升用戶體驗。如圖所示,163郵箱的注冊界面。

AjaxPro中怎么實現無刷新數據檢測功能AjaxPro中怎么實現無刷新數據檢測功能

 Ajax的實現方式,通常可以分為以下三種:

1、利用純粹的JavaScript實現;

2、利用微軟自帶的Ajax控件庫實現;

3、利用第三方類庫實現,如AjaxPro;這里介紹第三種方法,使用AjaxPro實現無刷新數據檢測。

我要實現的是一個添加單詞的功能,當鼠標離開單詞輸入框時,檢測單詞數據庫中是否已存在該單詞,并給出相應提示。(同用戶注冊原理一致)。

AjaxPro中怎么實現無刷新數據檢測功能

AjaxPro中怎么實現無刷新數據檢測功能

AjaxPro中怎么實現無刷新數據檢測功能

1、獲取AjaxPro

AjaxPro是免費的Ajax類庫,官網是ajaxpro.info,現在搬到了微軟的開源托管網站CodePlex上,即ajaxpro.codeplex.com。

AjaxPro中怎么實現無刷新數據檢測功能

當前***版為9.2.17.1,單擊Download,下載完成后,解壓9.2.17.1_DLL.zip,得到如圖所示的五個文件。我們將使用AjaxPro.2.dll和web.config配置文件。

AjaxPro中怎么實現無刷新數據檢測功能

2、添加引用

為項目添加AjaxPro的引用。右鍵項目下的“引用”目錄,添加引用,瀏覽找到AjaxPro.2.dll,確定。

AjaxPro中怎么實現無刷新數據檢測功能

AjaxPro中怎么實現無刷新數據檢測功能

3、配置web.config

為網站的web.config添加AjaxPro的配置信息,主要添加三部分內容(具體代碼參考AjaxPro壓縮包中的web.config文件)。

1)在webconfig &mdash;&mdash; <configuration> &mdash;&mdash; <configSections>節點下,添加如下代碼:

<!--Ajax配置信息 A--> <sectionGroup name="ajaxNet">    <!--  If you are using Microsoft .NET 1.1 please remove the two attributes  requirePermission and restartOnExternalChanges, they are only supported  with .NET 2.0.  -->   <section name="ajaxSettings"     type="AjaxPro.AjaxSettingsSectionHandler,AjaxPro.2"     requirePermission="false"     restartOnExternalChanges="true" />  </sectionGroup>

2)在webconfig &mdash;&mdash; <configuration>節點下,添加ajaxNet節點,即如下代碼:

<!--Ajax配置信息 B--> <ajaxNet>   <ajaxSettings>      <urlNamespaceMappings useAssemblyQualifiedName="false" allowListOnly="false">       <!--                  Set the attribute useAssemblyQualifiedName to true to enable                  use of assemblies placed in the GAC by using the full assembly                  qualified name.                                    To hide internal knowledge of assemblies, classes and namespace                  you can override the name of the virtual http endpoints.                                        <add type="Namespace.Class1,Assembly" path="mypath" />             -->     </urlNamespaceMappings>      <jsonConverters includeTypeProperty="true">       <!--                  This section can be used to add new IJavaScriptConverters to the                  Ajax.NET Professional engine. If you want to disable built-in                  converters you can use the remove tag.                                <remove type="Namespace.Class1,Assembly"/>                 <add type="Namespace.Class2,Assembly"/>                                       <add type="AjaxPro.BitmapConverter,AjaxPro.2" mimeType="image/jpeg" quality="100"/>             -->     </jsonConverters>      <!--              Set the enabled attribute to true to get Stack, TargetSize and Source               information if an exception has been thrown.          -->     <debug enabled="false" />      <!--              This is the default configuration used with Ajax.NET Professional. You              can put there your static JavaScript files, or remove the path attribute              to completly disable the files.                            <scriptReplacements>                 <file name="prototype" path="~/ajaxpro/prototype.ashx" />                 <file name="core" path="~/ajaxpro/core.ashx" />                 <file name="converter" path="~/ajaxpro/converter.ashx" />             </scriptReplacements>         -->      <!-- <encryption cryptType="" keyType="" /> -->      <!--              Set the enabled attribute to true to enable the use of an Ajax.NET Professional              token. This will send a token to the client that will be used to identify if the              requests comes from the same PC.          -->     <token enabled="false" sitePassword="password" />      <!--              The oldStyle (or now configuration) section can be used to enable old styled JavaScript code or              functions that are not used any more. Some of them cannot be used together.                            <configuration>                 <renderNotASPAJAXDateTime/>                 <objectExtendPrototype/>                 <appCodeQualifiedFullName/>                 <allowNumberBooleanAsString/>                 <sessionStateDefaultNone/>                 <includeMsPrototype/>                 <renderDateTimeAsString/>                 <noUtcTime/>                 <renderJsonCompliant/>                 <useSimpleObjectNaming/>             </configuration>         -->    </ajaxSettings> </ajaxNet>

3)在webconfig &mdash;&mdash; <configuration>節點下,添加location節點,即如下代碼:

<!--Ajax配置信息 C--> <location path="ajaxpro">   <system.web>     <httpHandlers>       <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>     </httpHandlers>     <!--      If you need to have Ajax.NET Professional methods running on the      login page you may have to enable your own authorization configuration      here.  -->     <!--  <authorization>     <deny users="?"/> </authorization> -->   </system.web> </location>

4、注冊AjaxPro

導入AjaxPro命名空間,并在Page_Load事件處理中添加AjaxPro注冊代碼。

using System;  using System.Collections.Generic;  using System.Linq;  using System.Web;  using System.Web.UI;  using System.Web.UI.WebControls;  using AjaxPro;   namespace HujiangDict.Admin  {      public partial class Addword : System.Web.UI.Page      {          protected void Page_Load(object sender, EventArgs e)          {              //注冊AjaxPro,我的頁面是Addword.aspx,typeof中的類名就是Addword              AjaxPro.Utility.RegisterTypeForAjax(typeof(Addword), this);          }      }  }

5、編寫前臺代碼及客戶端方法

關鍵點是TextBox的onblur事件處理,調用的是 JS函數 checkWord()。(我在這里添加了ASP.NET驗證控件和客戶端字符驗證的JS函數,可以不考慮)

<div class="title">     單 詞<asp:TextBox class="input_word" onblur="checkWord()" runat="server" ID="tb_word"         onkeypress="return JudgeChar(event.keyCode)"></asp:TextBox><span class="message">             <asp:RequiredFieldValidator ID="word_message" ControlToValidate="tb_word" runat="server"                 ErrorMessage="請輸入單詞" class="message"></asp:RequiredFieldValidator>         </span> </div>

JS函數,checkWord(),用于同后臺異步通信。該函數將服務器返回的結果,設置為id=msg消息框div的InnerHTML,即填充div,顯示出驗證信息。

<!--Ajax檢查單詞是否存在--> <script type="text/javascript" language="javascript">     function checkWord() {          var word = document.getElementById('tb_word').value;          if (word != '') {              var result = HujiangDict.Admin.Addword.CheckWord(word).value;              document.getElementById('msg').innerHTML = result;          }      }   </script>
 在JS調用后臺Ajax方法時,要參考頁面所繼承的類的完整名稱,這里是HujiangDict.Admin.Addword。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Addword.aspx.cs" Inherits="HujiangDict.Admin.Addword" %>

6、編寫服務端Ajax方法

后臺Ajax方法,要加上[AjaxMethod]標記,這是提供給前臺JS調用的方法。該方法類型為string類型,這里返回的結果是一段html,及顯示驗證結果的消息框。

/// <summary> /// AjAx方法 檢查單詞是否存在  /// </summary> /// <param name="word"></param> /// <returns></returns> [AjaxMethod]  public string CheckWord(string word)  {      string result;      WordHelper wordHelper = new WordHelper();      //如果檢測數據庫中存在該單詞      if (wordHelper.ExistsWord(word))      {          result = "<div style=\"background:#FFEBEB;border:solid 1px red;margin:10px 0;border-radius:6px;padding:0 20px\">" +                              "詞庫中已存在單詞 <strong>"+word+"</strong>,您可以到 <a href=\"#\">單詞管理</a> 中編輯該單詞。</div>";      }      else      {          result = "<div style=\"background:#BEFFD1;border:solid 1px green;margin:10px 0;border-radius:6px;padding:0 20px\">" +                              "數據庫中尚無該單詞 <strong>"+word+"</strong>,可以添加!^_^</div>";      }      return result;  }

運行結果

添加一個單詞庫中不存在的單詞,鼠標離開編輯框時,提示“可以添加”。

AjaxPro中怎么實現無刷新數據檢測功能

添加單詞庫中已存在的單詞home時,提示“已存在”。

AjaxPro中怎么實現無刷新數據檢測功能


以上就是AjaxPro中怎么實現無刷新數據檢測功能,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泗阳县| 海阳市| 碌曲县| 华池县| 富源县| 右玉县| 永年县| 高平市| 甘德县| 沂水县| 青神县| 定远县| 海淀区| 留坝县| 余姚市| 萝北县| 阳江市| 昔阳县| 万载县| 泸水县| 莫力| 慈溪市| 云梦县| 贵阳市| 晋中市| 延吉市| 昭通市| 马山县| 江安县| 济源市| 共和县| 凯里市| 阿坝县| 商都县| 中西区| 平顶山市| 榆树市| 万年县| 论坛| 临颍县| 星子县|