• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    利用AJAX與數據島實現無刷新綁定

    發布: 2008-1-29 14:20 | 作者: 不詳 | 來源: 賽迪網 | 查看: 15次 | 進入軟件測試論壇討論

    領測軟件測試網 首先我們今天要用到的是Ajax.NET Professional ,您可以從http://www.schwarz-interactive.de/   獲取關于AJAX.NET的相關信息。其次還需要知道XML數據島的相關知識。

      下面我們先來看一個簡單的綁定例子:

      第一步先確定XML數據源

     

     。紉ml ID="xmlData" name="xmlData">

      。紃oot>

     。糓ETADATA>

      。糀UTHOR>John Smith</AUTHOR>

      。糋ENERATOR>Visual Notepad</GENERATOR>

      。糚AGETYPE>Reference</PAGETYPE>

      。糀BSTRACT>Specifies a data island</ABSTRACT>
     
     。/METADATA>

     。糓ETADATA>

      。糀UTHOR>John Smith2</AUTHOR>

      。糋ENERATOR>Visual Notepad2</GENERATOR>

      。糚AGETYPE>Reference2</PAGETYPE>

      。糀BSTRACT>Specifies a data island2</ABSTRACT>

     。/METADATA>

     。糓ETADATA>

      。糀UTHOR>John Smith3</AUTHOR>

      。糋ENERATOR>Visual Notepad3</GENERATOR>

      。糚AGETYPE>Reference3</PAGETYPE>

      。糀BSTRACT>Specifies a data island3</ABSTRACT>

     。/METADATA>

      。/root>

     。/xml>

      第二步確定綁定容器,在這里我們使用Table

     。糡ABLE dataSrc="#xmlData" border=1>

      。糡R>

     。糡D><span dataFld="AUTHOR">loading...</span></TD>

     。糡D><span dataFld="GENERATOR">loading...</span></TD>

     。糡D><span dataFld="PAGETYPE">loading...</span></TD>

     。糡D><span dataFld="ABSTRACT">loading...</span></TD>

      。/TR>

     。/TABLE>

      把這兩段代碼Copy到您的HTMl頁面運行既可看到效果。

      第一段是我們的XML數據源,也就是要綁定的數據,METADATA結點相當于表名, AUTHOR、GENERATOR、PAGETYPE、ABSTRACT相當于列名,下面的Table是用來顯示數據的容器。<TABLE dataSrc="#xmlData" border=1>是指定Table的數據源,<span dataFld="AUTHOR">loading...</span>綁定字段名。

      好了,知道這些之后就再來看如何結合Ajax實現無刷新綁定。

      第一步:配置Ajax,在Web.config文件中加入配置節:

     。糷ttpHandlers>

     。糰dd verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>

     。/httpHandlers>

      第二步,編寫返回數據集的代碼:

      public class MyClass

      {

       [AjaxMethod]

       public string GetDataSet()

       {

      DataSet dst = new DataSet();

      DataTable dt = new DataTable();

      dt.Columns.Add("Text");

      dt.Columns.Add("Number");

      Random random = new Random(Guid.NewGuid().GetHashCode());

      for (int i = 0; i < random.Next(10,20); i++)

      {

       DataRow row = dt.NewRow();

       row["Text"] = Guid.NewGuid().ToString("N");

       row["Number"] = random.Next(100);

       dt.Rows.Add(row);

      }

      dst.Tables.Add(dt);

      string text = "";

      using(MemoryStream ms = new MemoryStream())

      {

       dst.WriteXml(ms);

       ms.Position = 0;

       StreamReader sr = new StreamReader(ms);

       text = sr.ReadToEnd();

      }

      return text;

       }

      }


      第三步:在Page_Load中注冊該方法,AjaxPro.Utility.RegisterTypeForAjax(typeof(WebTest1.AjaxTest1));(WebTest1是名稱空間的名字)

      第四步:添加客戶端綁定


     。糏NPUT onclick="WebTest1.MyClass.GetDataSet(callback)" type="button" value="GetDataSet">

     。糳iv id="oDataPanel">

     。/div>

     。糡ABLE datasrc="#xmlData" WIDTH="500" BORDER="1"

      CELLSPACING="1" CELLPADDING="1">

      。紅head>

     。紅r>

      。紅h width="70%">姓名</th>

      。紅h width="30%">年齡</th>

     。/tr>

      。/thead>

      。糡R>

     。糡D><span datafld="Text"></span></TD>

     。糡D><span datafld="Number"></span></TD>

      。/TR>

     。/TABLE>

     。糳iv id="oDataPanel">是準備用來存放Xml數據源的容器


      第五步:編定加載數據的JavaScript代碼

      function callback(res)

      {

      if(!res.error)

      {

      document.all.oDataPanel.innerHTML = '<xml id="xmlData">'+ res.value +'</xml>';

      }

      else

      {

      alert(res.error.Message);

      }

      }

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: ajax AJAX


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>