我想实现的功能是使用webclient自动填写网页1.apsx的表单,然后提交给2.aspx,网页2.aspx接收1.aspx传过来的值,使用的事server.transfer方法,然后再自动填写2.aspx的表单,结合1.aspx传过来的值和2.aspx表单中的值,一起提交数据库
我现在只会使用webclient自动填写1.aspx的表单并提交,后续的就不会了,请高人解答!
我现在的代码是:
string submitButton = "Button1";
// 页面的 VeiwState(可以通过IE打开页面,右键“查看源文件”取得)
string viewState = "/wEPDwULLTExNTc2NTI3OTlkZL4ZDqPRvq06DzXBg7UYs+omOZO1";
// 页面的 EventValidation(可以通过IE打开页面,右键“查看源文件”取得)
string eventValidation = "/wEWBAL93InACQLs0bLrBgLs0fbZDAKM54rGBvzbLkSU69B/vP/DB+V7zWeKjbtM"; submitButton = System.Web.HttpUtility.UrlEncode(submitButton);
viewState = System.Web.HttpUtility.UrlEncode(viewState);
eventValidation = System.Web.HttpUtility.UrlEncode(eventValidation);
try
{
// 要提交表单的URI字符串。
string uriString = "http://localhost/WebSite1/1.aspx";
// 要提交的字符串数据。格式形如:user=uesr1&password=123
string postString = "TextBox1=a&TextBox2=b" + "&Button1=" + submitButton + "&__VIEWSTATE=" + viewState + "&__EVENTVALIDATION=" + eventValidation;
// 初始化WebClient
WebClient webClient = new WebClient();
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
// 将字符串转换成字节数组
byte[] postData = Encoding.ASCII.GetBytes(postString);
// 上传数据,返回页面的字节数组
byte[] responseData = webClient.UploadData(uriString, "POST", postData);
// 将返回的将字节数组转换成字符串(HTML);
// ASP.NET 返回的页面一般是Unicode,如果是简体中文应使用
// Encoding.GetEncoding("GB2312").GetString(responseData)
string srcString = Encoding.UTF8.GetString(responseData);
上面是自动填写并提交1.aspx的表单 后续的代码请高人指点,或者使用别的方法也行 呵呵
我现在只会使用webclient自动填写1.aspx的表单并提交,后续的就不会了,请高人解答!
我现在的代码是:
string submitButton = "Button1";
// 页面的 VeiwState(可以通过IE打开页面,右键“查看源文件”取得)
string viewState = "/wEPDwULLTExNTc2NTI3OTlkZL4ZDqPRvq06DzXBg7UYs+omOZO1";
// 页面的 EventValidation(可以通过IE打开页面,右键“查看源文件”取得)
string eventValidation = "/wEWBAL93InACQLs0bLrBgLs0fbZDAKM54rGBvzbLkSU69B/vP/DB+V7zWeKjbtM"; submitButton = System.Web.HttpUtility.UrlEncode(submitButton);
viewState = System.Web.HttpUtility.UrlEncode(viewState);
eventValidation = System.Web.HttpUtility.UrlEncode(eventValidation);
try
{
// 要提交表单的URI字符串。
string uriString = "http://localhost/WebSite1/1.aspx";
// 要提交的字符串数据。格式形如:user=uesr1&password=123
string postString = "TextBox1=a&TextBox2=b" + "&Button1=" + submitButton + "&__VIEWSTATE=" + viewState + "&__EVENTVALIDATION=" + eventValidation;
// 初始化WebClient
WebClient webClient = new WebClient();
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
// 将字符串转换成字节数组
byte[] postData = Encoding.ASCII.GetBytes(postString);
// 上传数据,返回页面的字节数组
byte[] responseData = webClient.UploadData(uriString, "POST", postData);
// 将返回的将字节数组转换成字符串(HTML);
// ASP.NET 返回的页面一般是Unicode,如果是简体中文应使用
// Encoding.GetEncoding("GB2312").GetString(responseData)
string srcString = Encoding.UTF8.GetString(responseData);
上面是自动填写并提交1.aspx的表单 后续的代码请高人指点,或者使用别的方法也行 呵呵
解决方案 »
- asp.net页面10分钟没有任何操作,在对页面操作时自动退出到登陆页怎么做?
- 怎么删除DataTable的列
- 感谢CSDN热情上的兄弟们,(宁静的夏天,orangapple)等人过来领分,二则交流一个学习经验,来者有分,不够另在开贴
- 新浪微博和开心网里的转帖提交时感觉无页面刷新怎么做的?
- .net中怎么实现框架
- 关于确认框的问题??confirm
- 如何改变dropdownlist中项目的顺序
- 为什么我的注释文件拷贝不过来,在引用的时候
- Microsoft Visual Studio .Net 2003 在哪里下载啊??
- 如何为DataGrid中编辑状态下的“下拉列表框”形式的列写个selectedIndexChanged事件啊?
- 如下代码:如何点击更改style
- 在VS2005如何开发分布式代码?
webclient没有cookiecontainer之类的东西,无法保证你的请求是一致的
web.Headers.Add("Cookie: ASP.NET_SessionId=tc1iyizvm2ldq1zyc2c3wsan");
webclient缺点是不能异步请求