Aspdotnet-Suresh

aspdotnet-suresh offers C#.net articles and tutorials,csharp dot net,asp.net articles and tutorials,VB.NET Articles,Gridview articles,code examples of asp.net 2.0 /3.5,AJAX,SQL Server Articles,examples of .net technologies

Cross Page Postback in Asp.net Example 2.0, 3.0, 3.5, 4.0

Oct 17, 2012
Introduction

Here I will explain what is cross page posting in asp.net or Cross Page Postback in asp.net using C# and VB.NET.

Description

In previous articles I explained Send values from one page to another page using QueryString, Joins in SQL Server, Highlight Gridview records based on search and many articles relating to Gridview, SQLjQueryasp.net, C#VB.NET. Now I will explain what is cross page postback in asp.net and how to use cross page postback concept in asp.net.

Cross Page Postback

Cross page postback is the concept which is used to submit one page (Default.aspx) controls to another page (Default2.aspx) and access those page (Default.aspx) control values in another page (Default2.aspx).

Here I will explain this concept with simple example for that first create one web application and add two new pages Default.aspx and Default2.aspx.

Now open Default.aspx page and write the following code


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Cross Page Postback Example in asp.net</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td><b>Enter UserName:</b></td>
<td><asp:TextBox ID="txtUserName" runat="server"/></td>
</tr>
<tr>
<td><b>Enter Location:</b></td>
<td><asp:TextBox ID="txtLocation" runat="server"/></td>
</tr>
<tr>
<td></td>
<td><asp:Button ID="btnPostback" Text="Postback" runat="server" PostBackUrl="~/Default2.aspx" /> </td>
</tr>
</table>
</div>
</form>
</body>
</html>
If you observe button control code I added property PostBackUrl="~/Default2.aspx" by using this property we will submit Default.aspx page control values to Default2.aspx page.

Now open Default2.aspx page and write the following code


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Cross Page Postback Example in asp.net</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<b><u>Default2.aspx Page</u></b><br /><br />
<label id="lblName" runat="server" /><br /><br />
<label id="lblLocation" runat="server" />
</div>
</form>
</body>
</html>
Now open Default2.aspx code behind file and add following namespaces

C# Code


using System;
using System.Web.UI.WebControls;
Once namespaces added write the following code


protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null && PreviousPage.IsCrossPagePostBack)
{
TextBox txtName = (TextBox)PreviousPage.FindControl("txtUserName");
TextBox txtLocation = (TextBox)PreviousPage.FindControl("txtLocation");
lblName.InnerText = "Welcome to Default2.aspx page " + txtName.Text;
lblLocation.InnerText = "Your Location: " + txtLocation.Text;
}
else
{
Response.Redirect("Default.aspx");
}
}
VB.NET Code


Imports System.Web.UI.WebControls
Partial Class Default3
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

If PreviousPage IsNot Nothing AndAlso PreviousPage.IsCrossPagePostBack Then
Dim txtName As TextBox = DirectCast(PreviousPage.FindControl("txtUserName"), TextBox)
Dim txtLocation As TextBox = DirectCast(PreviousPage.FindControl("txtLocation"), TextBox)
lblName.InnerText = "Welcome to Default2.aspx page " & txtName.Text
lblLocation.InnerText = "Your Location: " & txtLocation.Text
Else
Response.Redirect("Default.aspx")
End If
End Sub
End Class
If you observe above codePreviousPageproperty of current page (Default2.aspx)is NOT NULL, this is to avoid errors in case that user opens our Default2.aspx directly, and here we checked another property called IsCrossPagePostBack to see if we really had a CrossPagePostback.

If both properties Page.PreviousPage is NOT NULL and PreviousPage.IsCrossPagePostback is true then only we can say CrossPagePostback happen.

Demo

Download Sample Code Attached


If you enjoyed this post, please support the blog below. It's FREE!

Get the latest Asp.net, C#.net, VB.NET, jQuery, Plugins & Code Snippets for FREE by subscribing to our Facebook, Twitter, RSS feed, or by email.

subscribe by rss Subscribe by RSS subscribe by email Subscribe by Email

8 comments :

Anonymous said...

it's really nice article

Unknown said...

i think this is more easier like,
in default2.aspx, in page_load
assign
string uname,loc;
uname=Request.form["txtUserName"];
loc=Request.form["txtLocation"];
lblName.text=string.format("Welcome to Default2.aspx page {0}
Your Location: {1}",uname,loc)

only 1 label is enough

Abhinavsingh993 said...

SIR PLEASE TELL ME LIKE GMAIL SUPPOSE I AM LOGGING IN GMAIL THEN THERE IS ALSO A CROSS PAGE POSTBACK WITH SOME GIF IMAGE WHICH SHOW THE WATING ,SIR IS THIS POSSIBLE WITH THIS CODING/PLEASE ANSWER ME SIR

AnjolieSweet said...

Valuable example it's a great article thanks for sharing this informative information.. I will visit your blog regularly for some latest post.

Ajay said...

Awesome...!

Anonymous said...

gud

SRI... said...

Sir, I am NOT getting Innerttext property for lable....

Anonymous said...

I have a treeview in one page and using navigateurl, I display another page within an Iframe in the first page. While closing the child page, I want to Deselect the Treeview treenode which is highlighted [SelectedNode Style]. How to do this?

Give your Valuable Comments

Note: Only a member of this blog may post a comment.

© 2015 Aspdotnet-Suresh.com. All Rights Reserved.
The content is copyrighted to Suresh Dasari and may not be reproduced on other websites without permission from the owner.