ASP.NET Session和LINQ

Mis*_*ish 6 c# linq asp.net session linq-to-entities

嗨,大家好!我有一个关于我正在进行的项目的问题.我有这行代码:

 var query = from user in dwe.UsersTable
                        where user.LoginName.Equals(usernameBox.Text) && user.Password.Equals(pwBox.Text)
                        select user;

        if (query.Count() == 1)
        {
            Session["User"] = usernameBox.Text;                     
            Response.Redirect("Edit.aspx");
        }
        else
        {
            LabelError.Text = "Error try again";
        }
    }
Run Code Online (Sandbox Code Playgroud)

在我的"UsersTable"中,我有一个名为"UserID"的coulmn.我想将"userID"作为会话发送到重定向页面(Edit.aspx),userID必须等于用户名和密码之间的比较结果.

干杯:-)

Pra*_*ana 6

你只需要写下来

var query = (from user in dwe.UsersTable 
                        where user.LoginName.Equals(usernameBox.Text) && 
                        user.Password.Equals(pwBox.Text)
                         select user).FirstOrDefault();

if(query!=null)
{
   Session["User"] = query.UserID; 
   Response.Redirect("Edit.aspx"); 
}
else
{
   LabelError.Text = "Error try again";
}
Run Code Online (Sandbox Code Playgroud)

不需要编写使用Count方法的代码,而不是只使用它FirstOrDefault会轻松地给你结果.