1

WebメソッドでユーザーIDを返し、返された結果をWebサイトASP.NETで使用し、ASP.NETのさまざまなWebページで使用するためにセッション変数にする方法を教えてください。

[WebMethod] public bool UserLogin(string EmailAdd、string Password){

        SqlConnection myConnection = new SqlConnection(@"user id=BankUser;password=Computer1;server=(local)\sql2008;database=BillionBank;");
        myConnection.Open();
        SqlCommand myCommand = new SqlCommand("SELECT * FROM [BillionBank].[dbo].[tblCustomerProfile] WHERE EmailAdd='" + EmailAdd + "' AND Password ='" + Password + "'", myConnection);
        SqlDataReader myreader;
        myreader = myCommand.ExecuteReader();
        if (myreader.Read())
        {
            return true;
        }
        else
            return false;
    }

これは私のコードです。結果としてユーザーIDを返し、WebサイトでWebメソッドを呼び出すときにセッション変数として使用します。

4

3 に答える 3

1

Webメソッドで、次のようにセッション変数を設定します。

Session["userId"] = 1234;

次に、アプリケーション内で、セッションを再度呼び出すことができます。再度intするには、セッションを解析する必要があることに注意してください

int userId
if(int.TryParse(Session["userId"].toString(), out userId)
{
     //do something
}
于 2012-11-01T10:54:10.173 に答える
1

Webメソッドでは、[WebMethod(EnableSession = true)]セッション変数を返すことができます。

于 2012-11-01T10:59:42.523 に答える
0
  public string GetUserID(string EmailAdd, string Password)
    {
        SqlConnection myConnection = new SqlConnection(@"user id=BankUser;password=Computer1;server=(local)\sql2008;database=BillionBank;");
        myConnection.Open();
        SqlCommand myCommand = new SqlCommand("SELECT * FROM [BillionBank].[dbo].[tblCustomerProfile] WHERE EmailAdd='" + EmailAdd + "' AND Password ='" + Password + "'", myConnection);
        SqlDataReader myreader;
        string result = "";

        myreader = myCommand.ExecuteReader();
        if (myreader.Read())
        {
            result = Convert.ToString(myreader["UserID"]);
        }

        return result;

    }

protected void btnLogin_Click(object sender, EventArgs e)
{
    Session["UserID"] = GetUserID(YOUR_EMAILID, YOUR_PASSWORD);
}
于 2012-11-01T11:16:39.253 に答える