Click here to Skip to main content
Licence CPOL
First Posted 22 Sep 2004
Views 145,155
Bookmarked 41 times

Passing information between pages -The .NET way

By | 22 Sep 2004 | Article
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:

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:

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:

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)

    About the Author

    Ansil

    Software Developer (Senior)

    India India

    Member

    Ansil hails from Trivandrum.
    He works for Microsoft india (R&D ).
    he blogs at http://ansilf.spaces.live.com/
     

     
    "First they ignore you;then they laugh at you ;then they fight you ;then you win "

    Sign Up to vote   Poor Excellent
    Add a reason or comment to your vote: x
    Votes of 3 or less require a comment

    Comments and Discussions

     
    You must Sign In to use this message board. (secure sign-in)
     
    Search this forum  
     FAQ
        Noise  Layout  Per page   
      Refresh
    Generalpassing multiple values between web form Pinmembersyed abdul kather7:41 25 Feb '10  
    GeneralSource files required Pinmemberammar_shaker13:04 15 Dec '07  
    GeneralPassing data set PinmemberJarnail21:10 6 Aug '07  
    GeneralBefore Accessing Source Page in Dest. Add Reference Pinmemberahmarshi4:52 1 Aug '07  
    GeneralRe: Before Accessing Source Page in Dest. Add Reference Pinmembervishalbpatil23:57 5 Mar '08  
    Generalpass values through viewstate between different pages PinmemberMember #362219721:50 10 Jan '07  
    QuestionHow can i post Arrays PinmemberShayeb6:19 18 Sep '06  
    GeneralWould this be equally the same as... Pinmembertranzformerz12:25 20 Jun '05  
    GeneralRe: Would this be equally the same as... PinmemberHugo Flores7:08 1 Jul '05  
    Yes, It's exactly the same thing. I don't know if the author didn't know this, or he was just trying to explain another, more time consuming, way to do it.
     
    It's not why you're running, it's where your going
    It's not what you're dreaming , but what you're going to do
    It's not where you're born, it's where you belong
    It's not how weak but what will make you strong
    Generalweb farms Pinmemberjlittle4:22 11 Mar '05  
    GeneralRe: web farms Pinmemberkikoman813:16 23 Mar '05  
    GeneralPassing values between pages in asp.net Pinsussjeynthi20:07 10 Dec '04  
    GeneralRe: Passing values between pages in asp.net PinmemberBabu A7:48 18 Sep '06  
    GeneralTransfer to frame PinmemberAubyone15:15 10 Oct '04  
    GeneralSourcePage Pinmembermagister23:13 30 Sep '04  
    GeneralRe: SourcePage Pinmembermagister23:15 30 Sep '04  
    GeneralRe: SourcePage PinmemberJerry Walter8:01 15 Oct '04  
    GeneralOnLoad event PinmemberChili Beanie7:01 23 Sep '04  
    GeneralRe: onload event PinmemberAnsil17:50 23 Sep '04  
    GeneralForm Post in ASP.NET PinmemberJeff X. Chang11:17 22 Sep '04  
    GeneralRe: Form Post in ASP.NET Pinmemberzoomba7:33 23 Sep '04  
    GeneralRe: Form Post in ASP.NET PinmemberJeff X. Chang20:20 19 Oct '04  
    QuestionThank You Sir May I Have Another? PinmemberJohnDeHope34:04 22 Sep '04  
    AnswerRe: Thank You Sir May I Have Another? Pinmemberdnh7:37 22 Sep '04  
    GeneralRe: Thank You Sir May I Have Another? PinmemberJohnDeHope37:49 22 Sep '04  

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

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

    Permalink | Advertise | Privacy | Mobile
    Web01 | 2.5.120528.1 | Last Updated 22 Sep 2004
    Article Copyright 2004 by Ansil
    Everything else Copyright © CodeProject, 1999-2012
    Terms of Use
    Layout: fixed | fluid