现在的位置: 首页 > 综合 > 正文

XMLHttpRequest无刷新更新页面(XML文档格式)

2014年09月05日 ⁄ 综合 ⁄ 共 3484字 ⁄ 字号 评论关闭

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default17.aspx.cs" Inherits="Default17" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
    var xmlHttp;

    function createXMLHttpRequest()
    {
        if (window.ActiveXObject)
        {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else if (window.XMLHttpRequest)
        {
            xmlHttp = new XMLHttpRequest();
        }
    }

    function startRequest()
    {
        var ProvinceID=document.all("RadioButtonList1");
        var pv;
        for(i=0;i<ProvinceID.length;i++)
        {
            if(ProvinceID[i].checked)
            {
                pv=ProvinceID[i].value;
            }
        }
        createXMLHttpRequest();
        xmlHttp.onreadystatechange = handleStateChange;
        xmlHttp.open("POST", "Default17.aspx?ProvinceID=" +pv, true);
        xmlHttp.send(null);
    }

    function handleStateChange()
    {
        if(xmlHttp.readyState == 4)
        {
            if(xmlHttp.status == 200) //200(OK);404(not found)
            {
                var blist=document.getElementById("DropDownList1");
                blist.length=0;

                alert(xmlHttp.getResponseHeader("Content-Type"));

                var rs = xmlHttp.responseXML;
                var ss=rs.getElementsByTagName("Row");

              for(var i=0;i<ss.length;i++)
              {
                var option = document.createElement("OPTION");
                option.text = ss[i].getElementsByTagName("GRDTX")[0].childNodes[0].nodeValue;
                option.value = ss[i].getElementsByTagName("GRUND")[0].childNodes[0].nodeValue;
                blist.options.add(option);  
              }
            }
        }
     }
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
        <asp:ListItem>A</asp:ListItem>
        <asp:ListItem>B</asp:ListItem>
        <asp:ListItem>C</asp:ListItem>
</asp:RadioButtonList>
</form>
</body>
</html>

 

 

 

 

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default17 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            this.RadioButtonList1.Attributes.Add("onclick", "return startRequest();");
            if(ProvinceID!="")

            { //You can call service function here.Then if the xmlHttpRequest send request.the function will be used.
                GetCityByProvinceID(ProvinceID);

               }
        }
    }

    //property
    #region property
    private string ProvinceID
    {
        get
        {
            if (Request["ProvinceID"] != null && Request["ProvinceID"].ToString() != "")
            {
                return Request["ProvinceID"];
            }
            else
            {
                return "";
            }
        }
    }
    #endregion

    //GetCityByProvinceID
    #region GetCityByProvinceID
    private void GetCityByProvinceID(string ProvinceID)
    {
        string xml = "<Data>";
        xml += "<Row>";
        xml += "<GRDTX>" + ProvinceID + "</GRDTX>";
        xml += "<GRUND>" + ProvinceID + "</GRUND>";
        xml += "</Row>";
        xml += "</Data>";
        Response.ContentType = "text/xml";
        Response.Write(xml);
        Response.End();
    }
    #endregion

}

抱歉!评论已关闭.