主要问题,利用webclent获取页面源代码时,当页面中含有datagrid,并且该控件 string result=””; 方法二:
使用了自带的分页功能时,正常的方法只能获取第一页面的数据,其它页面的数据
取不到,以下是解决方法。
方法一:
主要思路是利用webclient,post数据到服务来取得数据,这里主要用了一个小工具
可以分析页面的组成及运行过程,分析中发现当点击下一页时,会Post三个参数过去,
分别是:__EVENTTARGET、__EVENTARGUMENT、__VIEWSTATE。这里__VIEWSTATE参数在从打开第一页数据时取得,__EVENTTARGET为要调用控件的名称(可以通过httpwatch来获取) ,__EVENTARGUMENT是调用事件时的参数,代码如下:
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>,
页面中包括datagrid时,利用webclient获取页面源代码的解决方_asp.net技巧
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 页面中包括datagrid时,利用webclient获取页面源代码的解决方_asp.net技巧
相关推荐
-      对.net framework 反射的反思_asp.net技巧
-      .net3.5和vs2008中的asp.net ajax_asp.net技巧
-      使用asp.net ajax框架扩展html map控件_asp.net技巧
-      asp.net应用程序资源访问安全模型_asp.net技巧
-      photoshop初学者轻松绘制螺旋漩涡特效_photoshop教程
-      photoshop通道结合图层模式抠狗尾巴草_photoshop教程
-      web.config详解+asp.net优化_asp.net技巧
-      asp.net中多彩下拉框的实现_asp.net技巧