假设我有一个包含id
,name
,emailid
,passowrd
等属性的注册表。
现在,在我的登录表单中,我有两个选项可以让emailid
和password
登录。
我的问题是如何在下一页的标签中显示登录用户的姓名(而不是email_id)?我已经知道如何从文本框中将字符串作为字符串检索,以及如何在下一页的标签中显示它。
但是,在这种情况下,我认为我必须运行一个查询,以便在可以从登录表单的文本框中检索的email_id的帮助下从数据库中获取用户的名称。
我不知道如何在会话中提供从查询中获得的任何结果。
答案 0 :(得分:0)
Session["Name"] = nameFromQuery;
答案 1 :(得分:0)
如果您只需要用户名将其存储在会话中。我通常设置它的方式,我有一个Users
类,我将整个对象放在会话中,因为我通常需要除UserName之外的其他东西。每次我需要检查一些东西时,我将对象会话转发回我的用户类:
public class Users
{
public string Name { get; set; }
public string Email { get; set; }
}
然后将其放入会话中:
Session["LoggedUser"] = myUser;
从会话中检索它:
if (Session["LoggedUser"] != null)
{
Users usr = (Users)Session["LoggedUser"];
myLabel.Text = usr.Name
}
答案 2 :(得分:0)
你应该可以做这样的事情
HttpSessionState curSession = HttpContext.Current.Session;
curSession["SessionVariableName"] = result;
HttpSessionState curSession = HttpContext.Current.Session;
result = curSession["SessionVariableName"];
在检索对象时,您必须将对象强制转换为正确的类型。
假设结果变量是这样声明的。
String result;
然后你会写
result = (String)curSession["SessionVariableName"];
或
result = curSession["SessionVariableName"].ToString();
请告诉我这是否对您有所帮助。