So,
let’s start with the very well-known one.
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.
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"]) %>
And
you all set, run it test it.
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.
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;
}
}
Receiver
ASPX Page:
<h1>Public
Properties</h1>
Data
is: <%=PreviousPage.PublicData %>
And
you all set, run it test it.
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;
}
}
No comments:
Post a Comment