加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – ASP.NET Session和LINQ

发布时间:2020-12-15 04:26:24 所属栏目:百科 来源:网络整理
导读:嗨,大家好! 我有一个关于我正在进行的项目的问题. 我有这行代码: 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"] =
嗨,大家好!
我有一个关于我正在进行的项目的问题.
我有这行代码:
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”的coulmn.我想将“userID”作为会话发送到重定向页面(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方法的代码而不是这样只需使用FirstOrDefault就可以轻松地获得结果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读