Response.Redirect("page.aspx?param=" + value);
,在前台页面使用Request.QueryString["param"]
获取值。在ASP.NET中,向页面传递值是一个常见的需求,本文将介绍如何在ASP.NET中实现向前台传值的方法。
使用QueryString传递值
QueryString是一种通过URL传递参数的方式,在ASP.NET中,可以通过Request.QueryString来获取传递的值。
示例代码:
// 后台代码 string value = "Hello, World!"; Response.Redirect("~/Default.aspx?value=" + Server.UrlEncode(value));
<!-前台代码 --> <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html> <head> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> </div> </form> </body> </html>
// 前台代码 (Default.aspx.cs) protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string value = Request.QueryString["value"]; Label1.Text = value; } }
使用Session传递值
Session是一种在服务器端存储用户特定数据的方式,可以在一个页面设置Session,然后在另一个页面获取。
示例代码:
// 后台代码 string value = "Hello, World!"; Session["value"] = value; Response.Redirect("~/Default.aspx");
<!-前台代码 --> <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html> <head> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> </div> </form> </body> </html>
// 前台代码 (Default.aspx.cs) protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string value = Session["value"] as string; Label1.Text = value; } }
使用Cookie传递值
Cookie是一种在客户端存储数据的方式,可以在一个页面设置Cookie,然后在另一个页面获取。
示例代码:
// 后台代码 string value = "Hello, World!"; HttpCookie cookie = new HttpCookie("value", value); Response.Cookies.Add(cookie); Response.Redirect("~/Default.aspx");
<!-前台代码 --> <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html> <head> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> </div> </form> </body> </html>
// 前台代码 (Default.aspx.cs) protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { HttpCookie cookie = Request.Cookies["value"]; string value = cookie != null ? cookie.Value : string.Empty; Label1.Text = value; } }
4. 使用Cross-Page Posting传递值
Cross-Page Posting是一种在一个页面提交表单时,将数据直接发送到另一个页面的方式,需要在目标页面中处理这些数据。
示例代码:
<!-Source.aspx --> <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Source.aspx.cs" Inherits="_Source" %> <!DOCTYPE html> <html> <head> <title></title> </head> <body> <form id="form1" runat="server" action="Target.aspx" method="post"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Submit" /> </div> </form> </body> </html>
// Target.aspx.cs protected void Page_Load(object sender, EventArgs e) { if (PreviousPage != null && PreviousPage.IsCrossPagePostBack) { string value = ((TextBox)PreviousPage.FindControl("TextBox1")).Text; Label1.Text = value; } }
<!-Target.aspx --> <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Target.aspx.cs" Inherits="_Target" %> <!DOCTYPE html> <html> <head> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> </div> </form> </body> </html>
5. 使用Server.Transfer传递值
Server.Transfer是一种在同一Web应用程序内跳转页面的方式,同时可以传递数据,与Response.Redirect不同,Server.Transfer不会改变URL。
示例代码:
// 后台代码 string value = "Hello, World!"; Context.Items["value"] = value; Server.Transfer("~/Default.aspx");
<!-前台代码 --> <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html> <head> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> </div> </form> </body> </html>
// 前台代码 (Default.aspx.cs) protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string value = Context.Items["value"] as string; Label1.Text = value; } }
到此,以上就是小编对于“aspx向前台传值”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/1737.html<