Asp.net/JQuery:成功登录后设置会话

时间:2020-08-21 20:50:06

标签: c# jquery .net

我正在一个使用JQuery对SQL数据库进行身份验证的登录页面上。我正在使用ASP.NET WebMethod验证用户并返回1或0,其中1成功,0为失败。如果成功,我想创建一个会话并设置一个密钥,但是却收到一个对象空异常错误(我在下面的行中做了标记)。

登录页面非常简单。它输入用户名/密码并在按下按钮时调用ValidateUser。

我尝试使用Google搜索,找到了一些示例并尝试复制它们,但我仍然得到相同的答案。

 [WebMethod]
    [ScriptMethod(UseHttpGet = true)]
    public int ValidateUser(string user_id, string pin_nbr)
    {
        DataTable dt = new DataTable();
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings[conName].ConnectionString);
        SqlDataAdapter da = new SqlDataAdapter("ValidateUser", con);

        try
        {
            da.SelectCommand.CommandType = CommandType.StoredProcedure;
            da.SelectCommand.Parameters.Add("@UserID", SqlDbType.VarChar,100).Value = user_id;
            da.SelectCommand.Parameters.Add("@PinNbr", SqlDbType.VarChar,100).Value = pin_nbr;

            da.Fill(dt);

        }
        catch (Exception ex)
        {
            WriteToLog(errorMessage.ToString());
        }
        finally
        {
            da.Dispose();
        }
        if (dt.Rows.Count == 1)
        {
            Session["UserID"] = user_id;  //<-- OBJECT NULL EXECPTION HERE
            return 1;
        }
        return 0;

    }

1 个答案:

答案 0 :(得分:0)

尝试将EnableSession = true添加到您的WebMethod属性。

[WebMethod(EnableSession = true)]   

这应该可以解决问题。