Hey dorsa,
Instead of using Query String use session, Which will make help to pass parameter to multiple page and will not destroy whe you are going to back.
HTML
CS.aspx
UserName :
<asp:TextBox runat="server" ID="txtUser" />
<br />
<asp:Button Text="Login" runat="server" OnClick="Login"/>
Home.aspx
<asp:Label ID="lblUser" runat="server" />
<asp:Button Text="Next" runat="server" OnClick="Next" />
Default.aspx
<asp:Button Text="Go to Home" runat="server" OnClick="back" />
Code
C#
CS.aspx.cs
protected void Login(object sender, EventArgs e)
{
Session["user"] = txtUser.Text;
Response.Redirect("Home.aspx");
}
Home.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
lblUser.Text = Session["user"].ToString();
}
protected void Next(object sender, EventArgs e)
{
Response.Redirect("Default.aspx");
}
Default.aspx.cs
protected void back(object sender, EventArgs e)
{
Response.Redirect("Home.aspx");
}
VB.Net
VB.aspx.cs
Protected Sub Login(ByVal sender As Object, ByVal e As EventArgs)
Session("user") = txtUser.Text
Response.Redirect("Home.aspx")
End Sub
Home.aspx.vb
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
lblUser.Text = Session("user").ToString()
End Sub
Protected Sub [Next](ByVal sender As Object, ByVal e As EventArgs)
Response.Redirect("Default.aspx")
End Sub
Default.aspx.vb
Protected Sub back(ByVal sender As Object, ByVal e As EventArgs)
Response.Redirect("Home.aspx")
End Sub
Screenshot
![](https://imgur.com/PeS4Yu4.gif)