C#Asp.Net Triple-Des
我在一个项目中有两个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.Redirect,则第二页可见但我丢失了加密数据。
---我的老板不允许我使用查询字符串
我如何能够阅读回复并显示第二页。
提前致谢。
答案 0 :(得分:1)
我用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>