在getResponse之后,页面加载但没有重定向

时间:2014-04-11 12:06:03

标签: c# asp.net .net web 3des

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,则第二页可见但我丢失了加密数据。

---我的老板不允许我使用查询字符串

我如何能够阅读回复并显示第二页。

提前致谢。

1 个答案:

答案 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>