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; 

コントロールを見つけるために。これらを元のページに戻すにはどうすればよいですか? また、2 番目の server.transfer を実行すると、確認ページが空白で表示されることに注意してください。ブラウザに newapplication.aspx ページが表示されません。

4

1 に答える 1

0

リダイレクトページに移動するとき、現在のページ名をセッションに入れるとき、およびセッション値を使用して前のページをリダイレクトするよりも戻るをクリックするときに、セッション値でページ名を使用できます。作業が完了したら、セッションを null にします。

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 に答える