在会话中存储指定ID

时间:2013-12-27 09:24:25

标签: asp.net login login-control loginview

当任何用户登录时,我在右上角显示他/她的名字,在我的应用程序中还有一个名称,如经理,批准,导演,我想当经理登录时,指定也显示在右上角 像这样

john(manager)

我像这样创建sp

 create procedure [dbo].[spdesiname]
    @UserName nvarchar(50),
    @Password nvarchar(50)
    as
    select Designation.DesigType from Userss inner join dbo.Designation on

    dbo.Designation.DesigID=dbo.Userss.DesigID where UserName=@UserName and Password=@Password
    select SCOPE_IDENTITY();

并创建像这样的函数

public int spdesignname(string UserName, string Password)
        {
            return Convert.ToInt32(db.ExecuteScalar("spdesiname", new object[] { UserName, Password }));
        }

然后像这样调用这个函数

int desginid1 = Convert.ToInt16(aa.spdesignname(txt_username.Value, txt_pass.Value));
             Session["UserDesignationName"] = desginid;

然后在母版页中我会像这样调用会话。

if ((Session["Login2"] != null) & (Session["UserDesignationName"] != null))
                {

                    WELCOME.Text = Session["Login2"].ToString() + "(" + Convert.ToString(Session["UserDesignationName"]) + ")";
                }

然后当我在母版页中调用此会话时,它会显示错误的密码或用户名。

但我不行, 我是怎么做到的?

1 个答案:

答案 0 :(得分:0)

请尝试使用以下代码:

如果您的会话ID来自“Login2”+ UserDesignationID

if ((Session["Login2"]!=null) & (Session["UserDesignationID"] != null))
{
    //WELCOME.Text = Session["Login2"].ToString() + Session["UserDesignationID"].ToString();

    //TO DO : you need to find the designation based on Session["UserDesignationID"].ToString() and store into variable. i.e strDesignation

    WELCOME.Text = Session["Login2"].ToString() + strDesignation;
}