页面中包括DataGrid时利用webclient获取页面源代码的解决方

2016-02-19 19:00 35 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐页面中包括DataGrid时利用webclient获取页面源代码的解决方,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

     主要问题,利用webclent获取页面源代码时,当页面中含有datagrid,并且该控件
   使用了自带的分页功能时,正常的方法只能获取第一页面的数据,其它页面的数据
     取不到,以下是解决方法。   
     方法一:
      主要思路是利用webclient,post数据到服务来取得数据,这里主要用了一个小工具
  可以分析页面的组成及运行过程,分析中发现当点击下一页时,会Post三个参数过去,
   分别是:__EVENTTARGET、__EVENTARGUMENT、__VIEWSTATE。这里__VIEWSTATE参数在从打开第一页数据时取得,__EVENTTARGET为要调用控件的名称(可以通过httpwatch来获取) ,__EVENTARGUMENT是调用事件时的参数,代码如下:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

     string result="";
     result = this.loadtop ("http://localhost/ProjectInfo.aspx?JOBNO1=2001-09110");
       string vie = GetTagContent(result,"name="__VIEWSTATE" value="","" /");
     vie=vie.Replace ("name="__VIEWSTATE" value="","");
     vie=vie.Replace ("" /","");
     WebClient a = new WebClient();
     NameValueCollection na = new NameValueCollection();
     na.Add("__EVENTTARGET","NewHouseGridModule1:ModuleSplitPage:lbnNextPage");
     na.Add("__VIEWSTATE",vie); 
     byte [] ss = a.UploadValues("http://localhost/ProjectInfo.aspx?JOBNO1=2001-09110","POST",na);
     Encoding encode=Encoding .GetEncoding ("utf-8");
     result=encode.GetString(ss);

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

   方法二:
  利用axWebBrowser控件,下载第一页,然后在最下面这如下代码:
  script language='javascript' type='text/javascript'__doPostBack('NewHouseGridModule1$ModuleSplitPage$lbnNextPage','');/script,

  出处:http://bccu.cnblogs.com/archive/2006/05/11/397382.html

来源:http://www.tulaoshi.com/n/20160219/1619770.html

延伸阅读
标签: Web开发
第一个:  Untitled Document [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]   第二个: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
标签: Web开发
采用AJAX技术的时候 通常我们无刷新页面提交数据后 用同样的url去获取数据的时候会发现是以前的数据~那样就给client端带来假象了~~ 采用以下的方法可以取消缓存  htm网页  metahttp-equiv="pragma"content="no-cache"  metahttp-equiv="cache-control"content="no-cache,must-revalidate"  metahttp-equ...
标签: Web开发
在aspx页面中要实现单击一个按钮(服务器端控件)来关闭当前页面,只需要在aspx页面的page_load()方法中加入下列语句: this.btnClose.Attributes.Add("onclick","window.close()");//btnClose是按钮的名字,此语句是给其添加一个单击属性,调用window.close()方法。 2 在html页面中要实现单击一个按钮(html控件)来关闭当前页面,只...
标签: Web开发
我想让textarea中写的html页面显示为html形式      我知道有htmledit之类的工具   我用不了他的那么多的功能     我只要简单的显示就可以了 1楼 如果你只为显示的话,可以用document.write()      如果还要编辑的话,我觉得你可能还是要用htm...
标签: Web开发
情况一:针对页面上少量元素不打印(不预览)的情况的解决办法是使用style,具体如下: 定义如下style: @media print { .notprint { display:none; } } @media screen { .notprint { display:inline; cursor:hand; } } 所有需要显示但不需要打印(预览)的元素都加上: class='notprint' 情况二:针对只打印(预览)页...

经验教程

860

收藏

89
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部