Click here to Skip to main content
15,881,826 members
Articles / Web Development / IIS
Article

Passing information between pages -The .NET way

Rate me:
Please Sign up or sign in to vote.
2.72/5 (29 votes)
22 Sep 2004CPOL2 min read 184.5K   40   26
Article which demonstrates how to pass data between pages.

Introduction

For those ASP developers who are new to ASP.NET:

I am not going in detail about the Response.Redirect or Session variables because they both are the same like classic ASP. This article is for those developers who used POST method of Form in ASP to pass the Form variables from one page to another. Surprisingly, in ASP.NET, we cannot pass the Form variables from one page to another by posting or submitting the form using a submit button. I found out a little bit stranded at first. But soon I found out this new method of passing Form variables. (Who wants the old form submission now.)

The method of doing it

This is a bit complex but classy method of passing values across pages. Here, we expose the values we want to access in other pages as properties of the Page class. Here, we code extra properties that we want to access in another web form. However, the efforts are worth considering. This method is object oriented than earlier methods. The entire process works as follows:

  1. Create the web form with controls that carry values.
  2. Create property with Get procedures to return the values in the controls.
  3. Provide some button that posts the Form to another WebForm.
  4. In the button click event handler, call Server.Transfer method that will transfer execution to the specified WebForm.
  5. In the second Form, you can get a reference to the first Form instance by using ontext.Handler property and cast it to the source WebForm class.

Then, you will use the Get properties we created to access the control values.

Create a WebForm as shown below:

Sample screenshot

Write properties to access the values in the controls inside the source Page class:

C#
public string Name
{
    get{return txtName.Text;}
} 
public string Email
{
    get{return txtEmail.Text;}
}
public string Phone
{
    get{return txtPhone.Text;}
}

On the button click event, write code:

C#
private void btnSubmit_Click(object sender, System.EventArgs e)
{
    Server.Transfer("destination.aspx");
}

On the Page_Load of the destination Page, write the following code to access the public properties:

C#
SourcePage pgSource;
pgSource= (SourcePage) Context.Handler; 
Response.Write(pgSource.Name + "<br>");
Response.Write(pgSource.Email + "<br>");
Response.Write(pgSource.Phone + "<br>");

History

  • Version 1.0

    I thank Mr. Alvin George for writing this small code for me, due to my lack of time.

    License

    This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


    Written By
    Software Developer (Senior)
    India India
    Just another Developer
    http://anzboy.wordpress.com/

    Comments and Discussions

     
    Generalpassing multiple values between web form Pin
    syed abdul kather25-Feb-10 7:41
    syed abdul kather25-Feb-10 7:41 
    GeneralSource files required Pin
    ammar_shaker15-Dec-07 13:04
    ammar_shaker15-Dec-07 13:04 
    GeneralPassing data set Pin
    Jarnail6-Aug-07 21:10
    Jarnail6-Aug-07 21:10 
    GeneralBefore Accessing Source Page in Dest. Add Reference Pin
    ahmarshi1-Aug-07 4:52
    ahmarshi1-Aug-07 4:52 
    GeneralRe: Before Accessing Source Page in Dest. Add Reference Pin
    vishalbpatil5-Mar-08 23:57
    vishalbpatil5-Mar-08 23:57 
    Generalpass values through viewstate between different pages Pin
    Member 362219710-Jan-07 21:50
    Member 362219710-Jan-07 21:50 
    QuestionHow can i post Arrays Pin
    Shayeb18-Sep-06 6:19
    Shayeb18-Sep-06 6:19 
    GeneralWould this be equally the same as... Pin
    tranzformerz20-Jun-05 12:25
    tranzformerz20-Jun-05 12:25 
    GeneralRe: Would this be equally the same as... Pin
    Hugo Flores1-Jul-05 7:08
    Hugo Flores1-Jul-05 7:08 
    Generalweb farms Pin
    jlittle11-Mar-05 4:22
    jlittle11-Mar-05 4:22 
    GeneralRe: web farms Pin
    kikoman823-Mar-05 13:16
    kikoman823-Mar-05 13:16 
    GeneralPassing values between pages in asp.net Pin
    jeynthi10-Dec-04 20:07
    sussjeynthi10-Dec-04 20:07 
    GeneralRe: Passing values between pages in asp.net Pin
    Babu Akkandi18-Sep-06 7:48
    Babu Akkandi18-Sep-06 7:48 
    GeneralTransfer to frame Pin
    Aubyone10-Oct-04 15:15
    Aubyone10-Oct-04 15:15 
    GeneralSourcePage Pin
    magister30-Sep-04 23:13
    magister30-Sep-04 23:13 
    GeneralRe: SourcePage Pin
    magister30-Sep-04 23:15
    magister30-Sep-04 23:15 
    GeneralRe: SourcePage Pin
    Jerry Walter15-Oct-04 8:01
    Jerry Walter15-Oct-04 8:01 
    GeneralOnLoad event Pin
    Chili Beanie23-Sep-04 7:01
    Chili Beanie23-Sep-04 7:01 
    GeneralRe: onload event Pin
    Ansil23-Sep-04 17:50
    Ansil23-Sep-04 17:50 
    yea Chili,
    you are right.Once the destination page refreshes or do a postback we can no longer retrives the data .
    Nice tip
    regards
    Ansil
    GeneralForm Post in ASP.NET Pin
    Jeff X. Chang22-Sep-04 11:17
    Jeff X. Chang22-Sep-04 11:17 
    GeneralRe: Form Post in ASP.NET Pin
    zoomba23-Sep-04 7:33
    zoomba23-Sep-04 7:33 
    GeneralRe: Form Post in ASP.NET Pin
    Jeff X. Chang19-Oct-04 20:20
    Jeff X. Chang19-Oct-04 20:20 
    QuestionThank You Sir May I Have Another? Pin
    JohnDeHope322-Sep-04 4:04
    JohnDeHope322-Sep-04 4:04 
    AnswerRe: Thank You Sir May I Have Another? Pin
    DavidNohejl22-Sep-04 7:37
    DavidNohejl22-Sep-04 7:37 
    GeneralRe: Thank You Sir May I Have Another? Pin
    JohnDeHope322-Sep-04 7:49
    JohnDeHope322-Sep-04 7:49 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.