【问题标题】:asp.net post data and get dataasp.net 发布数据并获取数据
【发布时间】:2019-12-18 12:50:18
【问题描述】:

实际情况是,第三方将数据发布到我的asp.net(ASPX)页面,然后将控件重定向到我的页面http://example.com/confirm.aspx,在confirm.aspx页面中,我能够读取数据page_load,但是由于第三方正在做两件事 1) 发布数据和 2) 重定向,所以最后 page_load 事件被触发了两次,第一次 page_load 有发布数据,第二次 page_loat 没有发布数据。

我试图通过从另一个页面示例http://example.com/postdata.aspx 调用http://example.com/confirm.aspx 来模拟相同的场景,我面临同样的问题,confirm.aspx 页面的 page_load 事件被触发两次,首先时间 page_load 有发布数据,第二次 page_loat 没有发布数据。

objHttpReq = HttpContext.Current.Request;
var inputString = String.Empty; 
objHttpReq.InputStream.Position = 0; 
using (var inputStream = new StreamReader(objHttpReq.InputStream)) 
{
inputString = inputStream.ReadToEnd(); 
}
Response.Write(inputString);

当我调试时,我可以在变量“inputString”中看到发布的数据,但由于第二次 page_event 加载,页面上没有打印任何内容

感谢您的意见。

【问题讨论】:

  • 您好!这回答了你的问题了吗? stackoverflow.com/questions/20151556/…
  • 不,这不能回答我的问题。我的意思是,客户端正在做两件事 1) 发布数据 2) 重定向所以,我的 page_load 在 1) 中触发了两次 1) 我可以读取发布的数据 2) 什么也没有。所以,我需要的是 page_load 应该只有一次

标签: c# asp.net postdata


【解决方案1】:

要回答您的问题,您可以在Page_Load 中封装您的代码,如下所示:

if(!IsPostback)
{ }

更多关于IsPostBack这里:

https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.page.ispostback?view=netframework-4.8

【讨论】:

  • 不,这不能回答我的问题。我的意思是,客户端正在做两件事 1) 发布数据 2) 重定向所以,我的 page_load 在 1) 中触发了两次 1) 我可以读取发布的数据 2) 什么也没有。所以,如果 (!IsPostback) 为真,我需要的是 page_load 在上述两种情况下都应该只有一次
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-28
  • 1970-01-01
相关资源
最近更新 更多