在getResponse之后,页面加载,但没有';t重定向
本文关键字:重定向 之后 getResponse 加载 | 更新日期: 2023-09-27 17:58:04
C#Asp.Net三重设计
我在一个项目中有两个aspx页面。出于试用目的,这两个页面在一个项目中,但将来它们将在单独的服务器上。
第一页上有一个按钮(Default.aspx),这是后面的代码:
protected void btnSub_Click(object sender, EventArgs e)
{
var name = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
WebRequest req = null;
WebResponse rsp = null;
try
{
const string uri = "http://localhost:52958/WebSite1/Default2.aspx";
req = WebRequest.Create(uri);
req.Method = "POST";
req.ContentType = "text/xml";
var writer = new StreamWriter(req.GetRequestStream());
var post = "<VbDoc><Sicil>a</Sicil>,<AdSoyad>b</AdSoyad>,<SubeKodu>c</SubeKodu>,<SubeAdi>d</SubeAdi>,<Mail>e</Mail>,<Tel>f</Tel></VbDoc>";
post = Encrypt(post);
writer.Write(post);
writer.Close();
rsp = req.GetResponse();
}
catch
{
throw;
}
finally
{
if (req != null) req.GetRequestStream().Close();
if (rsp != null) rsp.GetResponseStream().Close();
}
}
在第二个页面(Default2.aspx)上,当我调试时,PageLoad会被激活,我可以读取加密的数据,但在page_load之后,页面就再也看不见了,旧的页面会保留下来。这是第二页的页面加载。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.Response.IsRequestBeingRedirected)
{
Page.Response.ContentType = "text/xml";
var reader = new StreamReader(Page.Request.InputStream);
var xmlData = reader.ReadToEnd();
if (xmlData.Length != 0)
{
xmlData = Decrypt(xmlData);
TextBox1.Text = xmlData;
}
}
}
---如果我在第一页使用Response.RRedirect,第二页会显示出来,但我会丢失加密的数据。
---我的老板不允许我使用查询字符串
我怎样才能阅读回复并显示第二页。
提前谢谢。
我用html post机制解决了它。cs如:
protected void btnSub_Click(object sender, EventArgs e)
{
var post = "xml data";
post = Encrypt(post);
Label1.Text = post;
}
.aspx与类似
<body>
<form id="form1" runat="server" >
<asp:Label Visible="False" ID="lblEncrypted" runat="server"></asp:Label>
</form>
</body>
<body>
<form name="tokenForm" method="POST" action="http://localhost:52958/WebSite1/Default2.aspx">
<input type="hidden" name ="token" value='<%=Label1.Text%>' />
<input type="submit" id="btnGonder" value="gonder"/>
</form>
</body>