有人能教我如何使用会话吗?我有一个登录页面,其中涉及mysql数据库表命名为用户,其中包括UserID=“变量号”,用户名和密码。我希望能够将用户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
}
}
}发布于 2011-03-18 20:54:24
在C#中,要将变量存储在会话变量中:
Session["usrID"]="myUserName";稍后,要检索会话变量:
string usrName = Convert.ToString(Session["usrID"]);发布于 2011-03-18 20:53:23
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; }
}发布于 2011-03-18 21:01:07
如果你需要一些用户管理的东西,你应该去找一个成员提供者。http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx
要获取用户信息,您可以使用
Membership.GetUser()如果您只想使用会话来存储变量,那么可以很容易地使用
Session["name"] = value;
var value = Session["name"];就像其他人已经提到的那样
https://stackoverflow.com/questions/5352185
复制相似问题