ASP.NET中利用登录将用户名保存在session中,在其它所有页面调用出用户名,显示在母版页Masterpage中

登录页面中:Session["c_login"] = uname; ////用户名
Session["c_password"] = upassword; /////密码
Session["user"] = "1"; /////用户身份1表示个人用户
其它页面怎么调用出来???其它页面都有使用母版页

登录页面 点击登陆之后

在首页面中的Load事件中写:
{
Session["c_login"] = uname; ////用户名
Session["c_password"] = upassword; /////密码
Session["user"] = "1"; /////用户身份1表示个人用户}

这些不是已经在登录的时候获取到用户的信息了吗

然后在用页面上的控件显示出来

lblName\\用户名...等

lblName.text=Session["c_login"].toString();
..
..
..

这样就可以显示到页面当中了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-17
直接声明三个变量,userName = Session["c_login"],userPassword = Session["c_password"],userType = Session["user"]就可以了追问

这个我知道,有木有代码给我借鉴一下,就是如果用户没有登录的话直接跳到登录页面login.aspx,否则在网页中的母版页里面label上显示用户名!!

追答

你自己都已经把思路说出来了,哪需要别人的代码。
if(Session为空)
Response.Redirect("login.aspx");
else
获取Session信息,把信息放到响应的label上;

else里边的内容,如果不知道怎么做的话,可以采取这样子的思路。
在后台cs代码里边声明一个public 或者protected的变量,这样子的话前台的label就可以直接绑定这个变量了。"

追问

OK,那怎么在使用了母版页的页面里面读取label(用户名)的值

追答

添加“使用母版页的Web窗体”,新建的这个窗体就会应用母版页的内容了~

追问

问题是我在这个页面已经用母版页了,该页面有一个gridview控件,需要通过获取用户名来显示相应的信息,而这个用户名显示在母版页里面的label上,如何获取这个用户名。。。。

追答

呃,暴力点。
页面A的cs继承母版页的cs,就可以使用母版页的属性了~

本回答被提问者采纳
第2个回答  2013-05-17
protected void Page_Load(object sender, EventArgs e)
{
lbNum.Visible = true;
lbName.Visible = true;
lbHy.Visible = true;
lbNum.Text = Session["ID"].ToString();
SqlConnection conn = BaseClass.DBCon();
conn.Open();
SqlCommand cmd = new SqlCommand("select*from tb_huiyuan where num='"+lbNum.Text+"'",conn);
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
lbName.Text = sdr["name"].ToString();
lbHy.Text = "欢迎光临酷玄小说网!";
DateTime dt = DateTime.Now;
lbTime.Text = dt.ToString();
}
sdr.Close();
conn.Close();
}
我这个就是从会员登录界面读取会员的帐号(Num)和姓名(Name)的方法,你可以看着改进你的,
第3个回答  2013-05-17
其他页面的 调用的 string uname=Session["c_login"] 就可以了
相似回答