>웹 프론트엔드 >JS 튜토리얼 >자바스크립트 비동기 페이지 쿼리 구현 코드(asp.net)_javascript 기술

자바스크립트 비동기 페이지 쿼리 구현 코드(asp.net)_javascript 기술

WBOY
WBOY원래의
2016-05-16 18:26:161389검색
1。 testlist.aspx页면:
复代码 代码如下:



<제목>




함수 ACClient( queryurl, width, objInput, objLable )
{
this.xmldom = getXmlhttp();
this.queryurl = queryurl;
this.prolist = new Array();
this.divwidth = 너비;
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 = "";
반품 가능;
}
var strURL = this.queryurl escape(ac.inputText) "&rand=" Math.random();
this.xmldom.open("GET", strURL, false);
시도해 보세요 {
this.xmldom.send();
}
catch (e) {
return;
}
this.prolist = this.xmldom.responseXML.documentElement.selectNodes("/duxion/object");
if (0 == this.prolist.length) {
반품 가능;
}
for (var i = 0; i < this.prolist.length; i ) {
if (i > 15)
break;
var node = this.prolist.item(i);
적격[eligible.length] = node.getAttribute("fullcontent");
}
ac.div.style.width = this.divwidth;
반품 가능;
};
this.useSuggestion = function( sel )
{
if( sel>=0 )
{
var node = this.prolist.item(sel);
if(typeof(node.getAttribute( "값" )) != "정의되지 않음")
document.getElementById(objInput.name).value = node.getAttribute( "value" );
else
document.getElementById(objInput.name).value = "";
if(typeof(node.getAttribute( "content" )) != "undefine")
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("이름");
document.getElementById("hidfreq_code").value = node.getAttribute("Code");
}
}
};
이것을 돌려주세요;
}


<본문>

<%--div 用于显示下拉查询부분분--%>


    ID="hidfreq_code" runat="서버" />






    2. 供查询적xml적testxml.aspx.cs文件
    复system代码 代码如下:

    public 부분 클래스 testXml : BaseForm
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    ListXmlData()
    }
    private string[ ] arrwidth;
    private string[] arrfield;
    public string fieldlist = "지역 ID, 지역 이름, 지역 번호, 지역 수준"
    public string coloumwidth = "60,10,20,30";
    //xml 형식 데이터 표시
    private void ListXmlData()
    {
    //각 필드의 너비
    string strwhere=""
    if (Request["value"] != null)
    {
    strwhere = string.Format(" 및 '{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; //필드 수
    int list_rows = dtList.Rows.Count; >string listlable = ""; //내용 표시
    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)
    //디스플레이 헤더
    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);
    //헤더 표시
    //데이터 표시
    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 = "< 스팬 스타일='너비:" arrwidth[j] "'>" formatXmlNode(dtList.Columns[j].DataType.ToString(), drList[j].ToString()) "";
    }
    }
    obj.SetAttribute("fullcontent", listlable);
    root.AppendChild(obj)
    }
    //데이터 표시
    //Response.ContentType = "text/xml;charset=utf-8";
    //Response.ContentType = "text/xml;charset=gb2312";
    Response.ContentEncoding = System.Text.Encoding.Default; .ContentType = "text/xml";
    Response.Clear();
    Response.Write(xmldoc.OuterXml);
    Response.End()
    개인 문자열 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. 렌더링:


    4. 추가 .js 및 .css 파일은
    첨부파일
    을 참조하세요.
    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.