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

tongues2014

tongues2014

2016-02-19 19:00

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

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

(本文来源于图老师网站,更多请访问http://m.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);

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

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

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

展开更多 50%)
分享

猜你喜欢

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

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

利用XMLHTTP 从其他页面获取数据

ASP
利用XMLHTTP 从其他页面获取数据

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Ajax获取页面被缓存的解决方法

Web开发
Ajax获取页面被缓存的解决方法

在 HTML 页面中添加 VBScript 代码

Web开发
在 HTML 页面中添加 VBScript 代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

解决远程页面抓取中的乱码问题?

Web开发
解决远程页面抓取中的乱码问题?

不同页面中调用JS代码乱码问题

Web开发
不同页面中调用JS代码乱码问题

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Word文档中插入目录和修改目录格式

Word文档中插入目录和修改目录格式

小议局部类

小议局部类
下拉加载更多内容 ↓