0

id假设我有一个带有, name, emailid,passowrd等属性的注册表。

现在,在我的登录表单中,我有 2 个选项可以输入emailidpassword登录。

我的问题是如何在下一页的标签中显示登录用户的名称(而不是 email_id)?我已经知道如何从文本框中检索电子邮件作为字符串,以及如何在下一页的标签中显示它。

但是,在这种情况下,我认为我必须运行一个查询,借助可以从登录表单的文本框中检索到的 email_id 从数据库中获取用户的名称。

我不知道如何将从查询中获得的任何结果放入会话中。

4

3 回答 3

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
}
于 2013-08-16T21:58:29.240 回答
0
Session["Name"] = nameFromQuery;
于 2013-08-16T21:54:40.337 回答
0

你应该能够做这样的事情

存储在会话中

HttpSessionState curSession = HttpContext.Current.Session;
curSession["SessionVariableName"] = result;

从会话中检索

HttpSessionState curSession = HttpContext.Current.Session;
result = curSession["SessionVariableName"];

但是,在检索对象时,您必须将对象转换为正确的类型。

假设 result 变量是这样声明的。

String result;

然后你会写

result = (String)curSession["SessionVariableName"];

或者

result = curSession["SessionVariableName"].ToString();

让我知道这是否对您有帮助。

于 2013-08-16T22:07:22.257 回答