zoukankan      html  css  js  c++  java
  • Ajax实现无刷新的获取数据并绑定到GridView,以及无刷新更新数据[转]

    首先是获得数据并绑定好GridView
    客户端javascript代码:
     1        function GetPersonnelKPIStep()
     2                   
     3                      
     4            var sId=GetParam("c_id");
     5            
     6            document.getElementByIdx("hId").value=sId;
     7            
     8            var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); 
     9            xmlhttp.Open("post","FmPersonnelKPIData.aspx?MethodName=GetPersonnelKPIStep&c_id="+sId+"&c_sort=",false);
    10            xmlhttp.Send();
    11            var sGridContent=xmlhttp.responseText;    
    12             
    13            var iStart=sGridContent.indexOf("<table");
    14            var iEnd=sGridContent.indexOf("</table>");            
    15            document.getElementByIdx("divStep").innerHTML= sGridContent.substring(iStart,iEnd+8);            
    16        }
     
    因为GirdView最后会翻译成Table在浏览器上显示,所以我只要获得返回流中的Table并将其赋给div的innerHTML属性即可
    服务端代码:
    1protected void Page_Load(object sender, EventArgs e)
    2    {
    3        if (!IsPostBack)
    4        {
    5            if (sMethodName == "GetPersonnelKPIStep")
    6            {
    7                GetPersonnelKPIStep(sId, Request.QueryString["c_sort"].ToString()); 
    8            }

    9     }

     1    public void GetPersonnelKPIStep(string sId, string sSort)
     2    {
     3        CWSHr cwsHr = new CWSHr();
     4        _DateNum = cwsHr.GetPersonnelKPIDateNum(sId);
     5        _kpiDatetime = cwsHr.GetPersonnelKPIDateTime(sId);
     6        if (_kpiDatetime == null || _kpiDatetime.Length != 2)
     7            return;
     8
     9        _StartDate = Convert.ToDateTime(_kpiDatetime[0]);
    10
    11        DataSet ds= cwsHr.GetPersonnelKPIStep(sId,sSort);
    12        GV_Step.DataSource = ds.Tables[0].DefaultView;
    13        GV_Step.DataBind();
    14    }
    在服务端获得并绑定数据到GridView

    获得xml格式的数据:
    服务端代码:
        public void GetPersonnelKPIStepOne(string sId, string sSort)
        
    {
            CWSHr cwsHr 
    = new CWSHr();
            DataSet ds 
    = cwsHr.GetPersonnelKPIStep(sId, sSort);
            Response.Write(ds.GetXml());
            Response.End();
        }
    注意,Response.End()一定要加上
    客户端代码:
     1var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); 
     2            xmlhttp.Open("post","FmPersonnelKPIData.aspx?MethodName=GetPersonnelKPIStepOne&c_id="+sId+"&c_sort="+sSort,false);
     3            xmlhttp.Send();
     4            var sGridContent=xmlhttp.responseText;    
     5                    
     6            //alert(sGridContent);     
     7            var xmlDom=new ActiveXObject("MSXML2.DOMDocument");
     8            xmlDom.loadXML(xmlhttp.responseText);
     9            var nodes=xmlDom.selectSingleNode("//NewDataSet/Table").childNodes;
    10            if (nodes != null)
    11            {
    12                for (var i=0;i<nodes.length;i++)
    13                                   
    14                    if (nodes[i].nodeName=="c_sort")
    15                        document.getElementByIdx("ETBSort").value=nodes[i].text;
    16                    else if (nodes[i].nodeName=="c_type")
    17                        document.getElementByIdx("ETBType").value=nodes[i].text;
    18                 &amp;
    神鸟技术
  • 相关阅读:
    Vijos P1448 校门外的树【多解,线段树,树状数组,括号序列法+暴力优化】
    Vijos P1785 同学排序【模拟】
    Vijos P1784 数字统计【模拟】
    Vijos P1497 立体图【模拟】
    将你的wordpress博客添加到百度个性首页
    改变wordpress图片上传后的压缩质量
    优化dedecms设置文章url自定义规则
    dedecms首页调用随机文章全自动时时更新
    怎样在wordpress后台显示日志 ID
    sql批量修改wordpress文章发布时间
  • 原文地址:https://www.cnblogs.com/winlone/p/13670347.html
Copyright © 2011-2022 走看看