以下のクラスに問題があります。
セッションなしで UserID を保持しようとしていますが、もちろんクエリ文字列もあります。UserClass に格納できると思いました。
たとえば、ID を取得しようとすると: Default.aspx:
MyUserClass userclass=new MyUserClass();//global
//(at button click)
userclass.GetUser(TextBox1.Text, TextBox2.Text);
int UserID=userclass.UserID;
ページ UserID=0 をリロードすると、問題ありません。次に、そのために静的変数を使用しようとしました。例:
static MyUserClass userclass=new MyUserClass(); //global
//(at button click)
userclass.GetUser(TextBox1.Text, TextBox2.Text);
int UserID=userclass.UserID;
私もページをリロードしたときにIDを取得しますが、他の誰かがログインすると、私のIDは他のIDで変更されます
どうすればこの方法でそれを行うことができますか、またはプロパティを意味しますか?
クラスは次のとおりです。
public class MyUserClass
{
private int _UserID;
public int UserID
{
get
{
return _UserID;
}
}
public int GetUser(string UserName, string Pass)
{
int UserID=0;
try
{
DB.conn.Close();
SqlCommand command = new SqlCommand("pUserkontrol", DB.conn);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@puserName", UserName);
command.Parameters.AddWithValue("@pPass", Pass);
DataTable dt = new DataTable();
DB.conn.Open();
SqlDataReader dr = command.ExecuteReader();
dt.Load(dr);
DB.conn.Close();
if (dt.Rows.Count < 1)
{
}
else
{
foreach (DataRow datarow in dt.Rows)
{
_UserID = Convert.ToInt32(datarow["UserID"]);
//UserID = _UserID;
}
}
}
catch (Exception ex)
{
}
return UserID;
}
}