私はこのことに気をつけて、実際には壁にぶつかります。 私はログインページにユーザー名とパスワードを入力し、関数はすべてのユーザーの詳細を取得するために呼び出されます。つまり、ファーストネームの姓電子メールアカウントタイプExamtakenなどです。プロパティは私がホームページでそれらを使用することができますが、私には知られていないいくつかの愚かな理由のために働いていない!あなたはしばらくの上から(da.read)を見ることができるように、ユーザーがクリックするIssue with Get Set Properties c#
public class ExamMethods
{
public int UserID { get; set; }
public string FirstName { get; set; }
public string Surname { get; set; }
public string Email { get; set; }
public int AccountType { get; set; }
public bool ExamTaken { get; set; }
private enum Datafield
{
UserID,
FirstName,
Surname,
Email,
AccountType,
ExamTaken,
}
public Hashtable CheckLogin(Hashtable Usercredentials)
{
try
{
SqlConnection Connection = new SQLAccess().CreateConnection();
SqlCommand Command = new SqlCommand("GetUserDetails", Connection);
Command.CommandType = System.Data.CommandType.StoredProcedure;
foreach (DictionaryEntry SpParameter in Usercredentials)
{
Command.Parameters.Add(new SqlParameter(SpParameter.Key.ToString(), SpParameter.Value.ToString()));
}
SqlDataReader da = Command.ExecuteReader();
while (da.Read())
{
Details.Add("UserID", da["UserID"]);
UserID = (da.IsDBNull((int)Datafield.UserID)) ? 0 : da.GetInt32((int)Datafield.UserID);
Details.Add("FirstName", da["FirstName"]);
FirstName = (da.IsDBNull((int)Datafield.FirstName)) ? "" : da.GetString((int)Datafield.FirstName);
Details.Add("Surname", da["Surname"]);
Surname = (da.IsDBNull((int)Datafield.Surname)) ? "" : da.GetString((int)Datafield.Surname);
//Details.Add("AccountType", da["AccountType"]);
//AccountType = (da.IsDBNull((int)Datafield.AccountType)) ? 0 : da.GetInt32((int)Datafield.AccountType);
//Details.Add("ExamTaken", da["ExamTaken"]);
//ExamTaken = (da.IsDBNull((int)Datafield.ExamTaken)) ? false : da.GetBoolean((int)Datafield.ExamTaken);
}
Connection.Close();
da.Close();
return Details;
}
catch
{
Console.WriteLine("Error Checking Login Details");
return Details;
}
}
}
にログインしたときに呼び出されるメソッドが表示されます以下のハッシュテーブルの値とのget setメソッドを割り当てるイムdebugginとき私は値が入るのを見ることができます!この値はnullまたは空ではありません。
コードはログインページに戻ってきます。すべてがうまくいれば、ユーザーが試験に行くことができるホームページへのresponse.redirectですが、そのページではhome.aspxの読み込み私は、私はExamMethodsクラスではなく、そのヌルを得るためにプロパティを参照するように私は、ユーザー名をpopualteにしたいラベルがありますか?どのようにこれは可能ですか?私は何が欠けていますか?私が手のsetメソッドは何もしていないことをホームページにログインページからreponse.redirectを使用していたので、 これはhome.aspxページの背後にある
public partial class Home : System.Web.UI.Page
{
Hashtable UpdateUser = new Hashtable();
protected void Page_Load(object sender, EventArgs e)
{
Methods.ExamMethods obj_UserDetails = new Methods.ExamMethods();
if (Request.QueryString["uid"] == null)
{
Response.Redirect("Login.aspx");
}
else
lblUserName.Text = obj_UserDetails.FirstName;
}
するためのコードでは、それか?または私は愚かな以上何かを見ても私には、この上に任意の助けをいただければ幸いです。 ありがとうございます。
がデータを必要とするとき、あなたはこれを行うことができますが、実際には 'CheckLogin'を呼び出しているところ私が足りませんか?あなたが求めているメソッドを呼び出していないときに何がうまくいかないと言うのは難しいです。 –