0

如何使用以下方式转移到确认页面:

    protected void Transfer_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            Server.Transfer("~/NewApplicationConfirmation.aspx");
        }
    }

然后,如果用户单击编辑,则在新页面 (NewApplicationConfirmation.aspx) 上转回原始页面:

    protected void Edit_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            Server.Transfer("~/NewApplication.aspx");
        }
    }

当我现在单击编辑时,它只是将 NewApplicationConfirmation.aspx 中的所有数据清空,并且不会变回 NewApplication.aspx

笔记:

--当我进行第一次服务器传输时,顶部的地址不会从 /NewApplication 更改,并且当我单击编辑时,顶部的地址会更改为 /NewApplicationConfirmation

--我正在使用 ASP.net 4.5 c#

--FriendlyURLs 已安装(默认)

--我在两个页面上都使用母版页

编辑附加信息:

当我进行第一次转移时,我使用

var cp = PreviousPage.Master.FindControl("MainContent") as ContentPlaceHolder; 
TextBox PrevinputAppName = cp.FindControl("inputAppName") as TextBox;
inputAppName.Text = PrevinputAppName.Text; 

找到控件。如何将这些转移回原始页面?另请注意,当我执行第二个 server.transfer 时,确认页面显示为空白 - newapplication.aspx 页面未出现在浏览器中

4

1 回答 1

0

当您移动到重定向页面时,您可以在会话值中使用页面名称,将当前页面名称放入会话中,当您单击返回时,使用会话值重定向上一页。完成您的工作后,使会话为空。

protected void Transfer_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            Server.Transfer("~/NewApplicationConfirmation.aspx?page=NewApplication");
        }
    }
    protected void Edit_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            Server.Transfer(Request.QueryString["page"] + ".aspx");
        }
    }

如果您想使用会话变量,请使用它,我在下面提到过:

protected void Transfer_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        Session["page"]="NewApplication.aspx";
        Server.Transfer("~/NewApplicationConfirmation.aspx");
    }
}
protected void Edit_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        Server.Transfer(Session["page"].ToString());
    }
}
于 2015-03-25T16:47:38.090 回答