dodo·木独朱
思想...可以使天堂变成地狱,也可以使地狱变成天堂.....

XMLHTTP定义

        function PostDataReturnValue( postString )
        

            
try 
            
{
                xmlHttp 
= new ActiveXObject("Microsoft.XMLHTTP");
            }

            
catch(e) 
            
{
                xmlHttp 
= new XMLHttpRequest();
            }

            xmlHttp.open(
"POST",postString,false);
            xmlHttp.send(
"");
            
var result = xmlHttp.responseText;
            
return result
        }
使用下面语句进行数据处理或者返回相应内容
var result = PostDataReturnValue("../PostDataPages/PostDataOfReturnText.aspx?id="+3);
如果是返回文本则直接使用,如
var txtTest = document.getElementById("TxtTest");
if (txtTest != null)
{
  txtTest.value 
= result;
}
如果返回的是DataSet的XML文件,按照以下方式读取
xDoc = new ActiveXObject("MSXML2.DOMDocument"); 
xDoc.loadXML(result);
//文本列和id列
colPONO = xDoc.selectNodes("//PONOS/Table1/pono");//PONOS为处理页面命名的数据集名称
colPOID 
= xDoc.selectNodes("//PONOS/Table1/poid");
//添加到下拉框
for (i=0;i<colPONO.length;i++)
{
var newOption = document.createElement("OPTION");
newOption.text 
= colPONO[i].text;
newOption.value 
= colPOID[i].text;
//下拉框添加项,如drpPONO.options.add(newOption);
}


进行数据处理的页面PostDataOfReturnText.aspx的cs文件中,Page_Load时首先读取传送过来的值,如
if (!IsPostBack)
{
object oId = Request.QueryString["id"];
if (oId != null)

      //进行相应处理.....返回单值或者数据表数据集等等

将返回的值输出,如果是单个值

/// <summary>
/// 输出文本
/// </summary>
/// <param name="text"></param>

private void ResponseWriteText(string text)
{
    Response.Write(text);
    Response.End();
}

数据集(表),则

/// <summary>
/// 输出数据集
/// </summary>
/// <param name="ds"></param>

private void ResponseWriteDataSet(DataSet ds)
{
System.Xml.XmlTextWriter writer 
= new System.Xml.XmlTextWriter(Response.OutputStream, Response.ContentEncoding); 
writer.Formatting 
= System.Xml.Formatting.Indented; 
writer.Indentation 
= 4
writer.IndentChar 
= ' '
ds.WriteXml(writer); 
writer.Flush(); 
Response.End(); 
writer.Close();
}


 

posted on 2006-05-06 16:12  木独朱  阅读(618)  评论(1编辑  收藏  举报