post提交的数据如何接收~?

yasire 2009-11-20 11:20:58
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.Method = "POST";//这无论是赋post还是get,都必须用全大写,此值错一点,都会导致程序错误,因为不符合http协议
request.ContentType = "multipart/form-data; boundary=--abc";//或者为"application/x-www-form-urlencoded",对应form标签里的 enctype属性,boundary那部分查是FORM元素各值的分隔符,具体请查阅HTTP协议相关文档,如果此值用application/x- www-form-urlencoded则form各元素用&来分隔,而元素的值是经过了url编码,调用System.Web.HttpUtility.UrlEncode方法,就能将值进行url编码。
//如果需要加cookie,则按如下方式添加,具体请参阅msdn
request.CookieContainer = new CookieContainer();

request.CookieContainer.Add(new Cookie("test", "i love u", "/", "localhost"));

byte[] data = Encoding.GetEncoding(encoding).GetBytes(postData);//将要发送的数据按HTTP协议拼装好字符串转成字节数组
request.ContentLength = data.Length;//设置内容的长度,长度就是要发送的整个字节数组的长度,此句必须有,长度不对就会导致错误
request.GetRequestStream().Write(data, 0, data.Length);//获取request的流,将数据写入流中,至此完成了form提交的必须有的步骤
response = (HttpWebResponse)request.GetResponse();//最后取得response获取服务器端的返回数据进行处理



从 A.aspx用此方法提交数据,如何在B.aspx页面接收到这些数据?
用不用在A.aspx里面Response.Redirect("B.aspx");?
...全文
650 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
m554623385 2012-10-17
  • 打赏
  • 举报
回复
报个错误说:集合是只读的。何解呀?[Quote=引用 9 楼 的回复:]

postData的内容是什么啊?
自己组织postData的内容啊,postData="userID=a001&userName=Jim"
然后再B页面取
Request.Form["userID"]
Request.Form["userName"]
[/Quote]
liujintaozyc 2009-11-20
  • 打赏
  • 举报
回复
Request.Form["名称"]
watsonchia 2009-11-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yasire 的回复:]
"参数名"从何而来?我在a.aspx页面里面 <form id="form1" method="post" action="b.aspx" runat="server">

运行自己生成的页面却变成了 <form id="form1" method="post" action="a.aspx">
也就是说不管action写什么都会生成a.aspx。

还有你说的"参数名",我要做a.aspx 的什么地方定义?
[/Quote]
在aspx页面用不着自己用httpwebrequest提交数据,默认服务器button控件提交到本页。
如果要提交到其他页面,PostBackUrl="b.aspx"
claymore1114 2009-11-20
  • 打赏
  • 举报
回复
Request.Form["控件的name属性"]
ICrazyBoy 2009-11-20
  • 打赏
  • 举报
回复
期待成功解决,还是有点挑战性????
yasire 2009-11-20
  • 打赏
  • 举报
回复
期待高人,糊涂了我都!~
yasire 2009-11-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xueyuyang 的回复:]
在b.aspx 页面里直接用Request["参数名"]就可以获取到。 body的method设置为post提交,action设置为b.aspx
[/Quote]

"参数名"从何而来?我在a.aspx页面里面<form id="form1" method="post" action="b.aspx" runat="server">

运行自己生成的页面却变成了<form id="form1" method="post" action="a.aspx">
也就是说不管action写什么都会生成a.aspx。

还有你说的"参数名",我要做a.aspx 的什么地方定义?
xueyuyang 2009-11-20
  • 打赏
  • 举报
回复
在b.aspx 页面里直接用Request["参数名"]就可以获取到。 body的method设置为post提交,action设置为b.aspx
chokobo 2009-11-20
  • 打赏
  • 举报
回复
postData的内容是什么啊?
自己组织postData的内容啊,postData="userID=a001&userName=Jim"
然后再B页面取
Request.Form["userID"]
Request.Form["userName"]
yasire 2009-11-20
  • 打赏
  • 举报
回复
 StringBuilder sb = new StringBuilder();
Encoding coding = Encoding.Default;
StreamReader rdr = new StreamReader(Request.InputStream, coding);
string line;
while ((line = rdr.ReadLine()) != null)
{
sb.Append(line);
}
Response.ContentEncoding = coding;

Response.Write(sb.ToString());

我在b.aspx页面里面接收,结果在a.aspx页面点击完之后,直接把b.aspx页面的内容都显示出来了。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧