我对目前正在处理的项目有疑问。
我有以下代码:

 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";
        }
    }
在我的“UsersTable”中,我有一个名为“UserID”的同伴。 我想将“userID”作为 session 发送到重定向页面(Edit.aspx),该userID必须等于“用户名”和“密码”之间的比较结果。

最佳答案

你只需要写下来

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";
}

无需编写使用Count方法代替的dow代码,而只需使用FirstOrDefault即可轻松获得结果。

关于c# - ASP.NET session 和LINQ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12561058/

10-11 22:28
查看更多