首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将数据发布到ASP.NET中的另一个URL的Response.Redirect

将数据发布到ASP.NET中的另一个URL的Response.Redirect
EN

Stack Overflow用户
提问于 2011-05-20 00:53:21
回答 3查看 43.6K关注 0票数 17

当响应的HTTP报头中包含一些POST数据时,我希望将响应重定向到另一个URL。

代码语言:javascript
复制
// Inside an ASP.NET page code behind:
Response.Redirect("http://www.example.com/?data=sent%20via%20GET");
// This will sent data to http://www.example.com via GET.
// I want to POST this data to http://www.example.com instead.

如何在ASP.NET中做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-20 01:06:10

你也可以用这个技巧发送大量的数据。

代码语言:javascript
复制
Response.Clear();

StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
sb.AppendFormat("<form name='form' action='{0}' method='post'>",postbackUrl);
sb.AppendFormat("<input type='hidden' name='id' value='{0}'>", id);
// Other params go here
sb.Append("</form>");
sb.Append("</body>");
sb.Append("</html>");

Response.Write(sb.ToString());

Response.End();
票数 56
EN

Stack Overflow用户

发布于 2011-05-20 00:59:06

你不能使用重定向发帖。根据定义,重定向是指服务器将302重定向HTTP状态代码发送到具有新位置的客户端,以便客户端向该新位置发出GET请求。这就是HTTP协议的工作方式,你对此无能为力。

因此,实现这一点的一种方法是重定向到某个临时页面,该页面将包含一个带有method="POST"的超文本标记语言<form>,并包含您希望作为隐藏字段发送的值。然后,您可以使用javascript自动提交此表单。

票数 12
EN

Stack Overflow用户

发布于 2016-07-14 10:33:26

您可以使用viewstate来“传输”数据,并在新页面甚至同一页面上读取数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6062078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档