C#在会话类中存储登录会话

时间:2013-08-08 00:04:49

标签: c# forms session

我想存储登录信息{id,bagian},所以我创建了Session.cs类。 这是Session.cs代码

 class Session
{
  public Session ()
  {

  }
  public int idnya { get; set; }
  public string bagiannya { get; set; }

    public void saveSession(int id, string bagian)
    {
        idnya = id;
        bagiannya = bagian;
    }

    public void destroySession()
    {
        idnya = 0;            
        bagiannya = "";
    }
}

所以id将以下列形式自动生成。但是,为什么id会返回0?

enter image description here

这是我的Tambah构造函数

public Tambah()
    {
        InitializeComponent();
        textBox2.Text = session.idnya.ToString();
    }

这是我的Login代码。我使用saveSession()方法将idbagian存储到Session.cs

enter image description here

  int nomornya = int.Parse(textBox1.Text);
        string passwordnya = textBox2.Text;
        string bagiannya = comboBox1.Text;


        var data = from a in de.karyawan
                   where a.nomor_karyawan == nomornya &&
                   a.password == passwordnya &&
                   a.bagian == bagiannya
                   select a;

        if (data.Any())
        {
            if (bagiannya.Equals("Admin"))
            {
                cmd.cetakSukses("Login sebagai admin", "Login");
                loginAdmin();
            }
            else
            {
                cmd.cetakSukses("Login sebagai teller", "Login");
                loginTeller();
            }
            main.Show();
            this.Hide();
            session.saveSession(nomornya, bagiannya);
            //MessageBox.Show(session.idnya.ToString());
        }
        else
        {
            cmd.cetakGagal("Username atau password salah", "Login");
        }

当我调用idnyabagiannya值时,它们会显示预期值。但是,当我拨打Tambah表格时出错了。

如何解决这个问题? 或者没有手动生成Session类的替代方法吗?

任何帮助都将被批准。谢谢!

1 个答案:

答案 0 :(得分:0)

从图片和你建议代码不崩溃的事实我猜“textBox1”是图片中的第二个TextBox控件。此控件包含文本“0”,因此在将此文本解析为整数后,它将为您提供0.之后,您不会修改此变量(“nomornya”无论这意味着什么),所以您如何期望不是0?除此之外,你的问题也很混乱,不清楚。

编辑:目前还不清楚你期望发生什么以及为什么。这是什么情景?如果ID来自用户,那么有谁会猜测你在textBox1中键入了什么产生了不想要的结果?你所说的“id返回0”是什么时候?