Galaxeepro.com

Welcome to Online Tutorial, here you can learn about Web Designing, PHP, and Asp.net, and Hacking Trick´s.

5 Ways to send data between ASP.NET Pages

1. Using Session State or Application Variable

Using this technique I will store the data in session variable on the client machine and on the next page will grab it. Using Application Variable instead of Session Variable is recommend by experts.

ASPX Page:

<asp:TextBox ID="txtData" runat="server"></asp:TextBox>
<br /><br />
<asp:Button ID="btnSessionState" runat="server" Text="Session State" OnClick="btnSessionState_Click" />

Code-Behind:

protected void btnSessionState_Click(object sender, EventArgs e)
{
Session["Data"] = txtData.Text;
Response.Redirect("SessionState.aspx");
}

Receiver ASPX Page:

<div>
<h1>Session State</h1>
Data is: <%=Session["Data"] %>
And you all set, run it test it.

2. Using Query String

Using this technique I will add my data with URL and on the next page will grab it.

ASPX Page:

<asp:TextBox ID="txtData" runat="server"></asp:TextBox>
<br /><br />
<asp:Button ID="btnQueryString" runat="server" Text="Query String" OnClick="btnQueryString_Click" />

Code-Behind:

protected void btnQueryString_Click(object sender, EventArgs e)
{
Response.Redirect("QueryString.aspx?Data=" + Server.UrlEncode(txtData.Text));
}

Receiver ASPX Page:

<h1>Query String</h1>
Data is: <%=Server.UrlDecode(Request.QueryString["Data"]) %>

3. Using HttpPost

Using this technique I will call a post back url and the on next page using Request.From I will grab it.

ASPX Page:

<asp:TextBox ID="txtData" runat="server"></asp:TextBox>
<br /><br />
<asp:Button ID="btnHttpPost" runat="server" Text="HTTPPost" PostBackUrl="~/HttpPost.aspx" />

Note: There is no any code-behind method call instead of a postbackurl in button attribute.

Receiver ASPX Page:

<h1>HttpPost</h1>
Data is: <%=Request.Form["txtData"] %>

And you all set, run it test it.

4. Using Public Properties

Using this technique I will send the using a public method and on the next page will grab it using PreviousPage.MethodName.

ASPX Page:

<asp:TextBox ID="txtData" runat="server"></asp:TextBox>
<br /><br />
<asp:Button ID="btnPublicProperties" runat="server" Text="Public Properties" OnClick="btnPublicProperties_Click" />

Code-Behind:

protected void btnPublicProperties_Click(object sender, EventArgs e)
{
Server.Transfer("PublicProperties.aspx");
}
public string PublicData
{
get
{
return txtData.Text;
}
}

5. Using Controls

Using this technique I will just redirect the user on next page and on the next page will use PreviousPage.FindControl to grab the data.

ASPX Page:

<asp:TextBox ID="txtData" runat="server"></asp:TextBox>
<br /><br />
<asp:Button ID="btnControl" runat="server" Text="Control" OnClick="btnControl_Click" />

Code-Behind:

protected void btnControl_Click(object sender, EventArgs e)
{
Server.Transfer("Control.aspx");
}

Receiver ASPX Page:

<h1>Control</h1>
Data is: <asp:Label ID="Label1" runat="server" Text="Label" />

Receiver Code-Behind Page:

protected void Page_Load(object sender, EventArgs e)
{
var textbox = PreviousPage.FindControl("txtData") as TextBox;
if (textbox != null)
{
Label1.Text = textbox.Text;
}
}