Home  >  Article  >  Web Front-end  >  javascript asynchronous page query implementation code (asp.net)_javascript skills

javascript asynchronous page query implementation code (asp.net)_javascript skills

WBOY
WBOYOriginal
2016-05-16 18:26:161356browse
1。 testlist.aspx页面:
复制代码 代码如下:








function ACClient( queryurl, width, objInput, objLable )
{
this.xmldom = getXmlhttp();
this.queryurl = queryurl;
this.prolist = new Array();
this.divwidth = width;
this.objInput = objInput;
this.getEligible = function(ac) {
var eligible = new Array();
if (ac.inputText.length < 1) {
document.getElementById(objInput.name).value = "";
document.getElementById(objLable.name).value = "";
return eligible;
}
var strURL = this.queryurl escape(ac.inputText) "&rand=" Math.random();
this.xmldom.open("GET", strURL, false);
try {
this.xmldom.send();
}
catch (e) {
return;
}
this.prolist = this.xmldom.responseXML.documentElement.selectNodes("/duxion/object");
if (0 == this.prolist.length) {
return eligible;
}
for (var i = 0; i < this.prolist.length; i ) {
if (i > 15)
break;
var node = this.prolist.item(i);
eligible[eligible.length] = node.getAttribute("fullcontent");
}
ac.div.style.width = this.divwidth;
return eligible;
};
this.useSuggestion = function( sel )
{
if( sel>=0 )
{
var node = this.prolist.item(sel);
if(typeof(node.getAttribute( "value" )) != "undefined")
document.getElementById(objInput.name).value = node.getAttribute( "value" );
else
document.getElementById(objInput.name).value = "";
if(typeof(node.getAttribute( "content" )) != "undefined")
document.getElementById(objLable.name).value = node.getAttribute( "content" );
else
document.getElementById(objLable.name).value = "";
if (this.objInput.name == "hidfreq_code") {
document.getElementById("txtfreq_name").value = node.getAttribute("Name");
document.getElementById("hidfreq_code").value = node.getAttribute("Code");
}
}
};
return this;
}




<%--div 用于显示下拉查询部分--%>


    ID="hidfreq_code" runat="server" />






    2。 供查询的xml的testxml.aspx.cs文件
    复制代码 代码如下:

    public partial class testXml : BaseForm
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    ListXmlData();
    }
    private string[ ] arrwidth;
    private string[] arrfield;
    public string fieldlist = "Area Id, area name, area code, area level";
    public string coloumwidth = "60,10,20,30";
    //Display xml format data
    private void ListXmlData()
    {
    //Width of each field
    string strwhere="";
    if (Request["value"] != null)
    {
    strwhere = string.Format(" and Code like '{0}%'", Request["value"].ToString());
    }
    arrfield = fieldlist.Split(',');
    arrwidth = coloumwidth.Split(',');
    DataTable dtList = new Districts().Search("1=1" strwhere);// dis // SqlHelper .GetTable(subsys_db, CommandType.Text, strsql, null);
    int list_cols = dtList.Columns.Count; //Number of fields
    int list_rows = dtList.Rows.Count; //Number of records
    string listlable = ""; //Display content
    XmlDocument xmldoc = new XmlDocument();
    XmlDeclaration dec = xmldoc.CreateXmlDeclaration("1.0", "gb2312", null);
    xmldoc.InsertBefore(dec, xmldoc.FirstChild);
    XmlElement root = xmldoc.CreateElement("duxion");
    xmldoc.AppendChild(root);
    //Display header
    if (list_rows > 0)
    {
    XmlElement objtitle = xmldoc.CreateElement("object");
    for (int k = 0; k < list_cols; k )
    {
    listlable = "" arrfield[k] "";
    if (k == arrfield.Length - 1)
    break;
    }
    objtitle.SetAttribute("fullcontent", listlable);
    root.AppendChild(objtitle);
    }
    //Display header
    //Display data
    for (int i = 0; i < list_rows; i)
    {
    listlable = "";
    DataRow drList = dtList .Rows[i];
    XmlElement obj = xmldoc.CreateElement("object");
    for (int j = 0; j < list_cols; j )
    {
    obj.SetAttribute(dtList .Columns[j].ColumnName, drList[j].ToString());
    if (j <= arrfield.Length - 1)
    {
    //listlable = "" GetLeftString(drList[j].ToString(), Convert.ToInt16(arrwidth[j])) "";
    listlable = "< span style='width:" arrwidth[j] "'>" formatXmlNode(dtList.Columns[j].DataType.ToString(), drList[j].ToString()) "";
    }
    }
    obj.SetAttribute("fullcontent", listlable);
    root.AppendChild(obj);
    }
    //Display data
    //Response.ContentType = "text/xml;charset=utf-8";
    //Response.ContentType = "text/xml;charset=gb2312";
    Response.ContentEncoding = System.Text.Encoding.Default;
    Response .ContentType = "text/xml";
    Response.Clear();
    Response.Write(xmldoc.OuterXml);
    Response.End();
    }
    private string formatXmlNode( string field_type, string field_value)
    {
    string return_value = field_value.Trim();
    switch (field_type)
    {
    case "System.Double":
    case "System. Decimal":
    return_value = string.Format("{0:0.###}", Convert.ToDouble(return_value));
    break;
    }
    return return_value;
    }
    }

    3. Rendering:
    javascript asynchronous page query implementation code (asp.net)_javascript skills
    4. For additional .js and .css files, please see the attachment
    Statement:
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn