【知识要点】
(1)了解不同页面之间的传值
(2)Session的应用
【问题提出】
到目前为止,我们所学习都是单页面赋值或运算,如果我们打算在不同的页面传值该如何做呢?
【在线指导】
在不同页进行传值,ASP.NET为我们提供了很多种方法,Session也是其中一种,而且非常重要的一种方法。如果你打算了解更多:ASP.NET页面间传递数值的方式有哪些?
我们分别建立两个页面:Session-A.aspx和Session-B.aspx。
Session["UserName"]第一次见面,感觉很别扭,这是什么东东?实际上你只要把Session["UserName"]当作一个变“X”量来看待,那么就很好理解了,只不过这个变量可以在不同的页面传值而已。
我们在Session-A.aspx.cs为“X”赋值,在Session-B.aspx.cs就可以直接使用了。前提是你的浏览器不能关闭,这就是所谓的会话期间(专业术语)。如果浏览器关闭了,Session值就消失了。
Session-A.aspx.cs代码:
protected void Page_Load(object sender, EventArgs e)
{
Session["UserName"] = "MrJiang";
}
-------------------------------------------------------------------------------------------
Session-B.aspx.cs代码:
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Session["UserName"].ToString());
}
1、设计界面
(1)打开Hello项目,单击“启动页>最近使用的项目>Hello”。
(2)在“解决方案资源管理器”中添加“Session-A.aspx”、“Session-B.aspx”页面。
2、添加代码
(1)双击Session-A.aspx页面空白处。
我们在Page_Load()中间输入:
Session["UserName"] = "MrJiang";
(2)双击Session-B.aspx页面空白处。
我们在Page_Load()中间输入:
Response.Write(Session["UserName"].ToString());
讲解:
Session常常用在用户登录之后保存部分信息,例如用户名等,这个我们在后面章节讲“用户登录”时再来体会Session的应用场景。
(3)选择“Session-A.aspx”,单击右键菜单选择“从浏览器中查看……”。
(4)在“Session-A.aspx”页面单击“Session-B.aspx”打开Session-B.aspx页面。