关于会议的教学?

时间:2011-03-18 12:49:16

标签: c# asp.net html

任何人都可以教我如何使用会话吗?我有一个登录页面,它引用名为User的mysql db表,其中包括UserID =“variable number”,用户名和密码。我希望能够将用户ID存储在会话中,以便我在登录时可以在用户配置文件中调用它。

这是怎么做到的?任何相关的编码和特定编码的放置都会有所帮助,因为我根本就没有把它拿起来。它是在(.cs文件)背后的代码中还是在aspx页面的html中保存?或两者以及如何?会话如何跨多个内部页面工作(一旦登录,您可以浏览多个与您自己的个人资料相关的页面)

    using System.Data.Odbc; 
    partial class login : System.Web.UI.Page 
    {        
    protected void   Login1_Authenticate(object sender, System.Web.UI.WebControls.AuthenticateEventArgs e)     
    {         
    OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=mydb; User=root;Password=;");         
cn.Open();
         OdbcCommand cmd = new OdbcCommand("Select * from login where username=? and password=?", cn);          
    //Add parameters to get the username and password            
    cmd.Parameters.Add("@username", OdbcType.VarChar);   
      cmd.Parameters["@username"].Value = this.Login1.UserName;

        cmd.Parameters.Add("@password", OdbcType.VarChar);  
       cmd.Parameters["@password"].Value = this.Login1.Password;  

        OdbcDataReader dr = default(OdbcDataReader);        
 // Initialise a reader to read the rows from the login table.   

  // If row exists, the login is successful        
    dr = cmd.ExecuteReader();        
  if (dr.HasRows) 
{             
e.Authenticated = true;             
// Event Authenticate is true       
    }    
  } 
}

4 个答案:

答案 0 :(得分:5)

在C#中,将变量存储在Session变量中:

Session["usrID"]="myUserName";

稍后,检索Session变量:

string usrName = Convert.ToString(Session["usrID"]);

答案 1 :(得分:3)

http://msdn.microsoft.com/en-us/library/ms178581.aspx

基本上,给自己一个页面类中每个变量的属性,例如

private int SelectedYear
{
    get 
    { 
        object obj = Session["SelectedYear"];
        if (obj != null)
        {
            return int.Parse(obj.ToString()); 
        }
        else
        {
            return 0;
        }
    }
    set { Session["SelectedYear"] = value; }
}

答案 2 :(得分:1)

如果您需要用户管理的东西,您应该使用memberhipprovider。 http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx

获取用户信息,您可以使用

Membership.GetUser()

如果您只想使用会话来存储变量,可以轻松使用

Session["name"] = value;
var value = Session["name"];
像其他人已经提到的那样

答案 3 :(得分:1)

何时应该调用代码来设置Session变量值?

您可以使用Login_Authenticate方法执行此操作。它是你第一次检索ID的地方。

或者,您可以在Global.asax事件的Session_Start文件中执行此操作。然后,您将始终在每个页面上都有值。