Use Server.Transfer to transfer action to another aspx file (C#) : Server class « Development « ASP.NET Tutorial






File: Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="CrossPage1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>CrossPage1</title>
</head>
<body>
    <form id="form1" runat="server" >
    <div>
        First Name:
        <asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
        <br />
        Last Name:
        <asp:TextBox ID="txtLastName" runat="server"></asp:TextBox>
        <br />
        <br />
        <asp:Button runat="server" ID="cmdPost" 
                PostBackUrl="NextPage.aspx" Text="Cross-Page Postback" /><br />
        <asp:Button runat="server" ID="cmdTransfer" Text="Manual Transfer" OnClick="cmdTransfer_Click" Visible="False" />
    </div>
    </form>
</body>
</html>

File: Default.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class CrossPage1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    if (Request.QueryString["err"] != null)
      Page.Validate();
    }


  protected void cmdTransfer_Click(object sender, EventArgs e)
  {
    Server.Transfer("NextPage.aspx", true);
  }

    public string FullName
    {
        get { return txtFirstName.Text + " " + txtLastName.Text; }
    }

}


File: NextPage.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="NextPage.aspx.cs" Inherits="CrossPage2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server" >
    <div>
        <asp:Label ID="lblInfo" runat="server"></asp:Label></div>
    </form>
</body>
</html>


File: NextPage.aspx.cs


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class CrossPage2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (PreviousPage != null)
        {

            lblInfo.Text = "You came from a page titled " +
                PreviousPage.Title + "<br />";

            CrossPage1 prevPage = PreviousPage as CrossPage1;
            if (prevPage != null)
            {
                lblInfo.Text += "You typed in this: " + prevPage.FullName +
                  "<br />";
            }
        }
    }
}








9.39.Server class
9.39.1.Use Server.HtmlEncode to encode HTML tags (C#)
9.39.2.Use Server.Transfer to transfer action to another aspx file (C#)
9.39.3.Server.UrlEncode
9.39.4.Forward the user to the information page, with the query string data (#)
9.39.5.Use Server.MapPath() to load the file in the current directory (VB.net)
9.39.6.Demonstration of Page_Error Handler
9.39.7.text generated by Execute can be embedded in the main response or cached in a writer object
9.39.8.Server.Execute
9.39.9.Server.GetLastError()
9.39.10.Server.HtmlDecode
9.39.11.Server.HtmlEncode
9.39.12.Server.MachineName
9.39.13.Server.MapPath
9.39.14.Server.ScriptTimeout
9.39.15.Server.Transfer
9.39.16.Server.UrlDecode
9.39.17.Server.UrlPathEncode