和Session还有Application一样,他们都是存储在服务端。
HttpContext是Request和Response的一个封装对象。
Response.Redirect是终止当前页的请求,产生一个新的请求道要跳转的页面,所以这里如果直接跳转时捕获不到的,所以要用Server.Transfer(但这里的地址栏是不会发生改变的)
传值页前台:
<asp:TextBox ID="txtbValue" runat="server"></asp:TextBox>
<asp:Button ID="btnReturnValue" runat="server" OnClick="btnReturnValue_Click" Text="传递值" />
传值页后台:
protected void btnReturnValue_Click(object sender, EventArgs e)
{
string name = txtbValue.Text;
Context.Items["name"] = name;
//Response.Redirect("httpcontext.aspx");
Server.Transfer("httpcontext.aspx");
}
接收页后台:
protected void Page_Load(object sender, EventArgs e)
{
string name = (String)Context.Items["name"];
Response.Write(name);
}