一个信息的查询显示,在前台页面是这样写的://取得数据列表
        function GetListData(CurrentIndex){
            var objXmlDoc = "<root><record><Flag>GetMsgList</Flag>";
          
            //检索条件构造
            var objCondtions = "";
            var objselectType = GetddlValue("selectType");
            var objtxtStartDate = GettxtValue("txtStartDate");
            var objtxtEndDate = GettxtValue("txtEndDate");
           
            objCondtions += ("<Nodes>" + CurrentIndex + "</Nodes>");//取得当前页
            
            objCondtions += ("<Nodes>" + objselectType + "</Nodes>");//收发类别            
            objCondtions += ("<Nodes>" + objtxtStartDate + "</Nodes>");//查询的开始日期
            objCondtions += ("<Nodes>" + objtxtEndDate + "</Nodes>");//查询的结束日期
           
            objXmlDoc += (objCondtions + "<Return></Return></record></root>");
            
            var objTotalCount = 0;//总记录数
            var objTotalPage = 0; //总页数            var objResult = SendHttp(objXmlDoc, "ASNRequest.aspx");
            if(objResult != null && objResult.length > 0){
                document.getElementById('divList').innerHTML = objResult.split('|')[0];
                objTotalCount = objResult.split('|')[1];
                objTotalPage = objResult.split('|')[2];
                if(objTotalPage <= 0)
                    CurrentIndex = 0;
                document.getElementById('spanIndex').innerHTML = "【当前页: " + CurrentIndex + "/"+ objTotalPage +"    总记录数: "+ objTotalCount +"】";
                
                document.getElementById('hidCurrentIndex').value = CurrentIndex;
                document.getElementById('hidTotalCount').value = objTotalPage;
            } else {
                document.getElementById('divList').innerHTML = "没有检索到相关数据...";
                document.getElementById('spanIndex').innerHTML = "【当前页: 0/0    总记录数: 0】";
                document.getElementById('hidCurrentIndex').value = 0;
                document.getElementById('hidTotalCount').value = 0;
            }
        }
然后进入一个ajax的js文件,其中SendHttp方法为://数据串格式:var objXmlDoc = "<root><record><Flag>取可以区别开的字符串(例:GetAddressList)</Flag><Nodes></Nodes><Return></Return></record></root>";
function SendHttp(args, postUrl){
    var objData;
    var objXmlDoc = args;
    if(objXmlDoc == null || objXmlDoc.replace(/\s*/, "").length <= 0){
        return false;//空数据不提交
    }
    
    try{
        var objXMLHTTP = new XMLHttpRequest();
        objXMLHTTP.open("POST", postUrl, false);
        objXMLHTTP.send( objXmlDoc);
        objData = objXMLHTTP.responseText;
    } catch(e) {}
    return objData;
}
然后ASNRequest.aspx后台代码:
    XmlNode retXmlNode;//请求返回值    protected void Page_Load(object sender, EventArgs e)
    {
        XmlDocument xmlDoc = new XmlDocument ( );        xmlDoc.Load(Request.InputStream);
        XmlNode xmlNode = xmlDoc.SelectSingleNode("//root//record//Flag");//取标识节点
        XmlNodeList xmlNodeList = xmlDoc.SelectNodes("//root//record//Nodes");//业务节点
        retXmlNode = xmlDoc.SelectSingleNode("//root//record//Return");        //解析
        ReadXmlDoc(xmlNode.InnerText, xmlNodeList);//把这行和下面的方法注释起来就可以进入调试,否则就无法进入调试
    }    #region XmlDoc 解析
    /// <summary>
    /// 解析请求的Xml串, 并执行相关的业务处理
    /// </summary>
    /// <param name="flag">业务标识</param>
    /// <param name="nodes">参数</param>
    /// <returns></returns>
    private void ReadXmlDoc(string flag, XmlNodeList nodes)
    {
        string strResult = retXmlNode.InnerText;        switch (flag)
        {
            case "IsCheckCode":
                strResult = IsCheckCode(nodes.Item(0).InnerText);
                break;
            case "GetMsgList":
                strResult = GetMsgList(nodes);
                break;
            case "DeleteMsg":
                strResult = DeleteMsg(nodes.Item(0).InnerText);
                break;
        }        //回写数据
        Response.Charset = "gb2312";
        Response.HeaderEncoding = Encoding.GetEncoding("gb2312");
        Response.Write(strResult);
        Response.End();
    }
    #endregion
我是用附加到进程的方法进入调试的,而且现在查询不出数据来,后面的显示数据代码我没帖,关键是这部分。为什么就多几行代码就进入不了调试呢?请教高手!

解决方案 »

  1.   

    有可能参数没有传到你的方法里面呢?建议你把这个代码全部写到page_load里面调试完成以后 再把你的代码写成方法看看 或者你断点跟踪下你的xmlNode 和xmlNodelList 里面加载是否成功
      

  2.   

    估计是debug信息没有编译出来,还用的原来的信息。确定使用的debug模式,然后clean工程并重新编译。
      

  3.   

    全放到Page_Load里也不行,直接运行数据一样为空。
      

  4.   

    排除一下是不是命名冲突,检查一下是不是父类中已经存在名称“ReadXmlDoc”