Hi friends,
I want to about different ways to send data across pages in ASP.NET?
Thanks.
Loading
Know the answer? Post it — somebody with the same question will find it here.
Sign in to answer this question
It is the same account you read, post and publish with — and you will come straight back to this page.
Satyapriya NayakPosted May 19, 2012, 1:47 AM
There are various ways to pass data information across pages.
1. Cookies
which is stored on user's system in the form of a text file.
Using a Cookie
HttpCookie UserCookie = new HttpCookie("User");
UserCookie.Value = txtName.Text;
UserCookie.Expires = DateTime.Now.AddHours(1);
Response.Cookies.Add(UserCookie);
lblMsg.Text = Request.Cookies["User"].Value;
2. QueryString
This is another way to pass data between pages using URL.
e.g.: http://www.c-sharpcorner.com/Notification/Notification.aspx?Mode=out
The section beyond part marked in red is where the query string starts, using a question mark (?) as separator.
Using "&" we can pass multiple query strings.
Using a Query String
Response.Redirect(String.Format("RetrieveData.aspx?user={0}&id={1}", txtName.Text, 1));
Retrieving a Query String value
if (Request.QueryString["user"] != null) {
lbl2.Text = Request.QueryString["user"]; }
3. Sessions
The most acceptable and secure method is by using Session variables.
Using a Session
Session["user"] = txtName.Text;
Session["id"] = 1;
colors.Add("red");
colors.Add("green");
colors.Add("blue");
Session["colors"] = colors;
colors = null;
if (Session["user"] != null)
{
lbl3.Text = Session["user"].ToString();
}
if (Session["colors"] != null)
{
List<string> col = new List<string>();
col = (List<string>) Session["colors"];
foreach (var item in col)
{
lbl3.Text += " " + item + ", ";
}
col = null;
}
4. Cross-Page Posting
Another technique used to post from one page to another page is by setting the PostBackUrl property to the target page.
The PreviousPage property in the target page contains a reference to the source page.
Using Cross-Page Posting
<asp:Button ID="btnPage2" Text="Call Page2" runat="server" width="132px" PostBackUrl="~/RetrieveData.aspx" />
if (Page.PreviousPage != null) {
DropDownList ddl = (DropDownList)Page.PreviousPage.FindControl("ddl1");
if (ddl != null) {
lbl4.Text = ddl.SelectedItem.Text;
lbl4.ForeColor = System.Drawing.Color.FromName(lbl4.Text); } }
5. Server.Transfer
Using this technique, form values of one page can be accessed in another page by enabling second parameter to true.
Also, the same for the Server.Execute method.
Using Server.Transfer
protected void btnPage2_Click(object sender, EventArgs e) {
Server.Transfer("RetrieveData.aspx", true); }
Retrieving a Server.Transfer value
if (Request.Form["ddl1"] != null) {
lbl5.Text = Request.Form["ddl1"]; }
Other ways that are used much are Submit Form, Context.Handler, Static variables, Saving data to XML, Text file etc..
or a Database and later retrieve it another form.
Please refer the below link for more
http://www.c-sharpcorner.com/uploadfile/suthish_nair/different-ways-to-pass-data-between-web-forms/
Thanks