<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    在asp.net框架中如何調用AJAX,或者異步調用后臺方法進行提交或更新。
    近段時間,公司有個項目需要做成象新浪網的股票信息那樣,實時進行刷新。經過摸索測試,下面把經驗進行分享:
    一、在頁面的cs文件中,該類一定要實現: System.Web.UI.ICallbackEventHandler接口
    即:繼承System.Web.UI.Page類,并實現 System.Web.UI.ICallbackEventHandler接口
    然后在Page_Load方法內(或DataBind())中進行注冊:如下
    //用于回調的

    string callbackReference = ClientScript.GetCallbackEventReference(this"arg""ReceiveCallback""context"false);
    string callbackScript 
    = string.Format("function CallServer(arg,context){{ {0}}}", callbackReference);
    ClientScript.RegisterClientScriptBlock(
    this.GetType(), "CallServer", callbackScript, true);

    解釋:
    string callbackReference = ClientScript.GetCallbackEventReference(this, "arg", "ReceiveCallback", "context", false);
    該代碼主要是注冊一個回調事件,其中context為頁面的div的ID值,主要是回調返回后需要重寫頁面的div的innerHtml(即控件)。
    string callbackScript = string.Format("function CallServer(arg,context){{ {0}}}", callbackReference);
    該代碼主要是通過回調事件訂制一個js方法,供頁面調用(可能相當于委托)

    二、重寫ICallbackEventHandler接口的相應方法。

     

    #region javascript異步調用,重寫rptList
        
    public void RaiseCallbackEvent(string eventArgument)
        
    {
            
    //自己寫的數據綁定方法,取數據庫的數據,重新綁定到Repeater控件
     BindData();
        }


        
    public string GetCallbackResult()
        
    {
            
    //返回再次綁定后的Repeater的表現內容
            return RenderControl(this.rptBidding);
        }


        
    private string RenderControl(Control control)
        
    {
            StringWriter writer1 
    = new StringWriter(CultureInfo.InvariantCulture);
            HtmlTextWriter writer2 
    = new HtmlTextWriter(writer1);
            control.RenderControl(writer2);
            writer2.Flush();
            writer2.Close();
            
    return writer1.ToString() + "@" + newLogId;
        }

        #endregion


     三、頁面表現時,需要定義一個div,里面任何內容都可以。
       <div id="context">          
     <asp:Repeater ID="rptBidding" runat="server">
         <HeaderTemplate>
         <div>頁面表現內容</div>
        </HeaderTemplate>
        <ItemTemplate>
         <div>頁面表現內容</div>
         </ItemTemplate>
         <AlternatingItemTemplate>
           <div>頁面表現內容</div>
         </AlternatingItemTemplate>
     </asp:Repeater>
       </div>
    在js中增加如下js方法,以供后臺調用。
       function turnPage(pageIndex){
          CallServer(pageIndex,'content');
       }
       //5秒刷新下,即取數據庫的值。重新綁定數據
       setInterval(turnPage(1), 5000);
      
       function ReceiveCallback(arg,context){
          var array = new Array();
          array = arg.split('@');
          //重新編譯div的innerHTML
          var container = document.getElementById('context');
          container.innerHTML = array[0];
       }

    結束運行。
    posted on 2008-12-23 14:55 aisoft 閱讀(1960) 評論(0)  編輯  收藏 所屬分類: .NET技術
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    隨筆檔案(2)

    文章分類(12)

    文章檔案(12)

    收藏夾

    搜索

    •  

    最新評論

    主站蜘蛛池模板: 最近中文字幕mv免费高清在线| 亚洲综合区小说区激情区 | 99精品国产免费久久久久久下载| 免费在线观看一区| 亚洲熟妇久久精品| 亚洲经典在线中文字幕| 国产亚洲精品看片在线观看| 午夜视频在线观看免费完整版| 4399影视免费观看高清直播| 两个人看www免费视频| 黄色a三级免费看| 亚洲综合无码无在线观看| 久久精品蜜芽亚洲国产AV| 亚洲午夜未满十八勿入网站2| 国产成人aaa在线视频免费观看| 无码国产精品久久一区免费| xxxxwww免费| 95免费观看体验区视频| 日韩电影免费观看| 成人妇女免费播放久久久| 国产精品免费观看视频| 免费VA在线观看无码| 国产午夜亚洲精品不卡电影| 亚洲色大成网站www永久男同| 亚洲av成人一区二区三区| 亚洲午夜精品一区二区公牛电影院| 亚洲v高清理论电影| 久久精品国产亚洲AV麻豆王友容 | 特级毛片A级毛片100免费播放| 亚洲日韩中文字幕无码一区| 亚洲AV无码成人专区| 亚洲jjzzjjzz在线观看| 亚洲av片不卡无码久久| 亚洲一区中文字幕| 亚洲日韩国产一区二区三区在线 | 最好免费观看韩国+日本 | 亚洲人成未满十八禁网站| 亚洲另类自拍丝袜第五页| 亚洲精品宾馆在线精品酒店| 亚洲爆乳无码精品AAA片蜜桃| 精品女同一区二区三区免费播放|