登录后显示用户信息

时间:2014-02-10 13:34:06

标签: c# asp.net sql-server web-services session

我为我的网站创建了一个网络方法。我希望能够在成功登录后显示以下信息。我如何实现这一目标?

[WebMethod]
        public Student Login(string Username, string Password)
        {
            cn.Open();
            SqlCommand com = new SqlCommand("SELECT * FROM tblStudent WHERE Username = '" + Username + "' and Password = '" + Password + "'", cn);
            SqlDataReader sr = com.ExecuteReader();
            while (sr.Read())
            {
                Student student = new Student()
                {
                    StudentID = sr.GetInt32(0),
                    StudentNumber = sr.GetString(1),
                    Name = sr.GetString(2),
                    Surname = sr.GetString(3),
                    DOB = sr.GetDateTime(4),
                    Gender = sr.GetString(5),
                    EmailAddress = sr.GetString(6),
                    Address1 = sr.GetString(7),
                    Address2 = sr.GetString(8),
                    City = sr.GetString(9),
                    Postcode = sr.GetString(10),
                    Username = sr.GetString(11),
                    Password = sr.GetString(12),
                    Course = sr.GetString(13)
                };
                cn.Close();
                return student;
            }

            cn.Close();
            return new Student();
        }

 protected void Button1_Click(object sender, EventArgs e)
        {
            ServiceReference1.Service1SoapClient Log = new ServiceReference1.Service1SoapClient();

            Student s = Log.Login(txtUsername.Text, txtPassword.Text);

            if (s.StudentID > 0)

            {
                Session.Add("UserAuthentication", s);
                //Session["Authenticated"] = true;
                //Session.Timeout = 1;
                Response.Redirect("Profile.aspx");

            }
            else
            {
                Response.Write("<script type=\"text/javascript\">alert('Username or Password is Incorrect. Please Try Again!');</script>");
            }        
        }

我有以下代码来显示“个人资料”页面上的信息,但它似乎不起作用。

protected void Page_Load(object sender, EventArgs e)

        {
            //string DOB;
            if (Session["UserAuthentication"] != null)
            {
                Student student = new Student();
                student.StudentNumber = lbStudentNum.Text;
                student.Name = lbName.Text;
                student.Surname = lbSurname.Text;
               // student.DOB = lbDOB.
               // student.Gender = lbGender.Text;
                student.EmailAddress = lbEmailaddress.Text;
                student.Address1 = lbAddress1.Text;
                student.Address2 = lbAddress2.Text;
                student.City = City.Text;
                student.Postcode = Postcode.Text;

            }

            else
            {
                Response.Redirect("Index.aspx");
            }

1 个答案:

答案 0 :(得分:0)

首先从会话中输出你的对象,然后将这些值放在这样的控件中:

protected void Page_Load(object sender, EventArgs e)
    {
        //string DOB;
        if (Session["UserAuthentication"] != null)
        {
            Student student = (Student)Session["UserAuthentication"];
            lbStudentNum.Text= student.StudentNumber ;
            City.Text= student.City;
            Postcode.Text= student.Postcode ; 
        }
        else
        {
            Response.Redirect("Index.aspx");
        }
相关问题