Ajax實時局部刷新


//Ajax實現局部刷新
 
 
    <script type="text/javascript">
    var xmlhttp;
    function getData()
    {
      //獲取用戶填寫的名稱
      var city=document.getElementById("txt").value;
      //創建異步調用對象
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      //將對象狀態與事件相關聯
      xmlhttp.onreadystatechange=statechange;
      //加載要鏈接的頁面
      xmlhttp.Open("POST","datapage.aspx?city=" +city,true);
      //發送請求
      xmlhttp.Send();
    }
    function statechange()
    {
      //判斷異步調用是否已經完成
      if(xmlhttp.readystate==4)
      {
        //判斷完成的提示代碼是否是OK狀態
        if(xmlhttp.status==200)
        {
           //將返回數據作為參數,傳遞給填充方法
           FillData(xmlhttp.responseText);
        }
      }
    }
    function FillData(strcity)
    {
       document.getElementById("DropDownList1").options.length=0;
       var indexofcity;
       var city;
       //切割傳遞來的字符串
       while(strcity.length>0)
       {
       //判斷是否是最后一個字符串
        indexofcity=strcity.indexOf(",");
        if(indexofcity >0)
        {
        city=strcity.substring(0,indexofcity);
        strcity=strcity.substring(indexofcity+1);
        //填充下拉框
        document.getElementById("DropDownList1").add(new Option(city,city));
        }
        else
        {
        // 如果是最后一個字符串
           lastcity=strcity.substring(0,2);
           document.getElementById("DropDownList1").add(new Option(lastcity,lastcity));
           break;
        }
       };
    }
    </script>
 
//第二個頁面
protected void Page_Load(object sender, EventArgs e)
    {
        //獲取傳遞過來的參數
        string city =Request.QueryString["city"];
        Response.Clear();
        //判斷城市名
        switch (city)
        {
            case "beijing":
                //填充相關的區域
                Response.Write("朝陽,海淀,東城,西城");
                break;
            case "shanghai":
                Response.Write("浦東,靜安,虹口,徐匯");
                break;
            case "jinan":
                Response.Write("歷下,歷城,市中,天橋");
                break;
        }
    }
 
 
 
//-------------------------------------------------------------------------------使用回調技術實現局部刷新
 <script type="text/javascript">
        function FillData()
        {
           var city=document.getElementById("TextBox1").value;
      
            <% =this.ClientScript.GetCallbackEventReference(this,"city","FillDll",null)  %>;
        }
        function FillDll(strcity)
        {
           document.getElementById("DropDownList1").options.length=0;
           var indexofcity;
           var city;
           //切割傳遞來的字符串
           while(strcity.length>0)
           {
           //判斷是否是最后一個字符串
            indexofcity=strcity.indexOf(",");
            if(indexofcity >0)
            {
            city=strcity.substring(0,indexofcity);
            strcity=strcity.substring(indexofcity+1);
            //填充下拉框
            document.getElementById("DropDownList1").add(new Option(city,city));
            }
            else
            {
            // 如果是最后一個字符串
               document.getElementById("DropDownList1").add(new Option(strcity,strcity));
               break;
            }
           };
        }
    </script>
 
 
    private string _data;
    public string GetCallbackResult()
    {
        //返回處理后的數據
        return _data;
    }
 
    public void RaiseCallbackEvent(string eventArgument)
    {
        //判斷傳遞過來的參數
        switch (eventArgument)
        {
            case "北京":
                _data = "朝陽,海淀,東城,西城";
                break;
            case "上海":
                _data = "浦東,靜安,徐匯,虹口";
                break;
            case "濟南":
                _data = "歷城,歷下,市中,天橋";
                break;
        }
    }
 
 
-------------------------------------------------------------------------------------Iframe實現局部刷新
    <script language="javascript">
       function Search()
       {
            var city=document.getElementById("TextBox1").value;
            if(city !="")
            {
               document.getElementById("iframe1").src="myframe.aspx?city=" +city;
            }
       }
    </script>
 <iframe src="myframe.aspx" style="TEXT-ALIGN: center" id="iframe1" width="100%" height="100%"  frameborder="0" scrolling="no"/>
 
第二頁面myframe.aspx
 
    <div style="TEXT-ALIGN: center">
        <asp:DropDownList ID="DropDownList1" runat="server" Width="154px">
        </asp:DropDownList></div>
 protected void Page_Load(object sender, EventArgs e)
    {
        //獲取傳遞過來的參數
        string city = Request.QueryString["city"];
        //判斷城市名
        switch (city)
        {
            case "北京":
                //填充相關的區域
                DropDownList1.Items.Clear();
                DropDownList1.Items.Add("朝陽");
                DropDownList1.Items.Add("海淀");
                DropDownList1.Items.Add("東城");
                DropDownList1.Items.Add("西城");
                break;
            case "上海":
                DropDownList1.Items.Clear();
                DropDownList1.Items.Add("浦東");
                DropDownList1.Items.Add("靜安");
                DropDownList1.Items.Add("虹口");
                DropDownList1.Items.Add("徐匯");
                break;
            case "濟南":
                DropDownList1.Items.Clear();
                DropDownList1.Items.Add("歷下");
                DropDownList1.Items.Add("歷城");
                DropDownList1.Items.Add("市中");
                DropDownList1.Items.Add("天橋");
                break;
        }
    }
 
 
---------------------------------------------------------------------------------使用腳本方法實現局部刷新
        <script   type="text/javascript">
        function FillData(strcity)
        {
           document.getElementById("DropDownList1").options.length=0;
           var indexofcity;
           var city;
           //切割傳遞來的字符串
           while(strcity.length>0)
           {
           //判斷是否是最后一個字符串
            indexofcity=strcity.indexOf(",");
            if(indexofcity >0)
            {
            city=strcity.substring(0,indexofcity);
            strcity=strcity.substring(indexofcity+1);
            //填充下拉框
            document.getElementById("DropDownList1").add(new Option(city,city));
            }
            else
            {
            // 如果是最后一個字符串
               document.getElementById("DropDownList1").add(new Option(strcity,strcity));
               break;
            }
           };
        }
    </script>
 
 
 
using System.Text;
protected void Page_Load(object sender, EventArgs e)
    {
        //創建字符串連接對象
        StringBuilder myscript = new StringBuilder();
        //使用字符串組織一個JavaScript腳本方法
        myscript.Append("function seekCity()    {\n");
        myscript.Append("var city=document.getElementById('TextBox1').value; \n");
        myscript.Append("switch(city)       {\n");
        myscript.Append("case '北京': \n");
        myscript.Append("FillData('" + GetCityStr("北京") +"'); \n");
        myscript.Append("break; \n");
        myscript.Append("case '上海': \n");
        myscript.Append("FillData('" + GetCityStr("上海") + "'); \n");
        myscript.Append("break; \n");
        myscript.Append("case '濟南': \n");
        myscript.Append("FillData('" + GetCityStr("濟南") + "'); \n");
        myscript.Append("break; }\n");
        myscript.Append(" }\n");
        //使用注冊腳本方法在頁面的客戶端,注冊這個字符串編寫的腳本方法。
        Page.ClientScript.RegisterClientScriptBlock(typeof(string), "seekCity", myscript.ToString(),true);
 
    }
    //通過獲取城市名,返回城市的區縣字符串
    private string GetCityStr(string INcity)
    {
        string city="";
        switch (INcity)
        {
            case "北京":
                city = "朝陽,海淀,東城,西城";
                break;
            case "上海":
                city = "浦東,靜安,徐匯,虹口";
                break;
            case "濟南":
                city = "歷城,歷下,市中,天橋";
                break;
        }
        //返回包含區縣的 字符串連接
        return city;
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM