在asp.net中的会话中存储我的查询结果

时间:2013-08-16 21:52:23

标签: asp.net

假设我有一个包含idnameemailidpassowrd等属性的注册表。

现在,在我的登录表单中,我有两个选项可以让emailidpassword登录。

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

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

我不知道如何在会话中提供从查询中获得的任何结果。

3 个答案:

答案 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();

请告诉我这是否对您有所帮助。