HttpWebRequest向ASP页面提交表单为对方什么接收不到数据?
我照一个VB.NET向ASP页面提交表单的例子仿写了一个C#的,但运行后为什么ASP页面接收不到提交的内容呢?
这是WinForm中的代码:
private string PostData(string url,string[] DataVal)
{
string strPost;
strPost=string.Join("&",DataVal);
byte[] strData = Encoding.GetEncoding("GB2312").GetBytes(strPost);
HttpWebRequest hwrForm=(HttpWebRequest)WebRequest.Create(url);
hwrForm.Method="Post";
hwrForm.MediaType="application/x-www-form-urlencoded";
hwrForm.ContentLength=strData.Length;
Stream stmWeb=hwrForm.GetRequestStream();
stmWeb.Write(strData,0,strData.Length);
stmWeb.Close();
HttpWebResponse hres=(HttpWebResponse)hwrForm.GetResponse();
StreamReader smrForm=new StreamReader(hres.GetResponseStream(),Encoding.Default);
return smrForm.ReadToEnd();
}
private void FrmBomb_Load(object sender, System.EventArgs e)
{
string[] DataVal=new string[]{"a=abc","b=def"};
string strUrl="http://localhost/m/test.asp";
MessageBox.Show(PostData(strUrl,DataVal));
}
这是ASP页面的代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<%
Response.Write(Request.Form("a") & "<br>" & Request.Form("b"))
%>
<form name="form1" method="post" action="">
<input name="a" type="text" id="a">
<input name="b" type="text" id="b">
<input type="submit" name="Submit" value="提交">
</form>
</body>
</html>
页面的所有HTML代码都能正常显示,但就是不能正常输出接收的a,b值,是不是代码写错了,数据根本就没POST出去?
问题点数:20、回复次数:9Top
1 楼CodeBunny(新年_新ID_新公司_新的开始)回复于 2005-05-09 11:52:19 得分 0
没人做过吗?不会吧?Top
2 楼zoubsky(与世隔绝的天空)回复于 2005-05-09 12:26:29 得分 0
关注Top
3 楼CodeBunny(新年_新ID_新公司_新的开始)回复于 2005-05-09 13:15:08 得分 0
自己关注Top
4 楼xiaxilin(彩色电脑)回复于 2005-05-09 13:25:28 得分 0
markTop
5 楼CodeBunny(新年_新ID_新公司_新的开始)回复于 2005-05-09 15:09:47 得分 0
自己markTop
6 楼CodeBunny(新年_新ID_新公司_新的开始)回复于 2005-05-09 15:40:52 得分 0
又沉了,郁闷呀,又是一天过去了,都等了一天了,还是没解决……Top
7 楼CodeBunny(新年_新ID_新公司_新的开始)回复于 2005-05-09 17:24:24 得分 0
下班前踢一脚~~Top
8 楼KOF2004(SHOWIM)回复于 2005-05-20 10:32:15 得分 20
Encoding encoding = Encoding.GetEncoding("GB2312");
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.ContentType="application/x-www-form-urlencoded";
req.Method="POST";
byte[] SomeBytes = encoding.GetBytes(payload);
req.ContentLength = SomeBytes.Length;
Stream newStream = req.GetRequestStream();
newStream.Write(SomeBytes,0,SomeBytes.Length);
newStream.Close();
result = req.GetResponse();
StreamReader sr = new StreamReader (result.GetResponseStream (),encoding);
sRe = sr.ReadToEnd ();
sr.Close ();
result.Close ();
楼主你再改写一下看看Top
9 楼CodeBunny(新年_新ID_新公司_新的开始)回复于 2005-05-20 11:25:21 得分 0
谢谢楼上的朋友,问题解决了~Top
相关问题
- 怎样用delphi向asp页面提交表单?
- ASP页面的表单回车键提交问题
- 用asp编程时提交表单如何实现页面自动刷新
- 一个表单要提交到两个asp页面,怎么办?急!!!
- 一个ASP表单提交的页面转化到EXCEL的问题!
- 在ASP页面里面取.NET页面FORM表单(POST方式)乱码的问题,请高手帮忙!!!!!!!!
- 高手帮忙如何解决无法读取asp表单文件(页面中包含了另一个带表单的文件)(在线等!急啊)
- 请问在asp.net中表单还可以向asp那样用action=提交给另一个页面吗?谢谢。
- 第一个asp页使用input 表单录入口令,如何传递给第二页面并验证
- asp页面,怎么让表单提交之后就disable(不难,别不理我哦)




