小弟刚学。net,怎样才使每个登入网站的用户都赋予一个ID!(使用session,值为”年月日时分秒“保证ID值唯一),谢谢
具体操作方法如下
1.在你的公共数据层(就是你放实体类的地方)新建一个实体类
public class UserInfo
{
//新建两个字段
private string userSessionID;
//下面的字段实现在实例化类的时候自动根据当前时间给该字段赋值
private DateTime userLoginTime = DateTime.Now;
//封装成属性
public string UserSessionID
{
get { return userSessionID; }
set { userSessionID = value; }
}
public DateTime UserLoginTime
{
get { return userLoginTime; }
set { userLoginTime = value; }
}
}
2.在你的解决方案资源管理器中选中你的网站名称,右键菜单选择添加新项。在对话框中选择 全局应用程序类 点击确定。完成后就可以看到出现了一个新文件Global.asax。
3.在Global.asax的如下函数的两个大括号内添加如下代码
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
// 实例化刚才建的类
UserInfo ui=new UserInfo();
//将SessionID放入实体类的对应字段中
ui.UserSessionID = Session.SessionID.ToString();
//将实体类放入Session["UserInfo"]中以便传递数据
Session["UserInfo"]= ui;
}
这样就可以了,在用户登录的时候就可以根据SessionID生成用户ID
如果要在页面取出使用的话用如下代码
UserInfo ui = Session["UserInfo"] as UserInfo;
1.在你的公共数据层(就是你放实体类的地方)新建一个实体类
public class UserInfo
{
//新建两个字段
private string userSessionID;
//下面的字段实现在实例化类的时候自动根据当前时间给该字段赋值
private DateTime userLoginTime = DateTime.Now;
//封装成属性
public string UserSessionID
{
get { return userSessionID; }
set { userSessionID = value; }
}
public DateTime UserLoginTime
{
get { return userLoginTime; }
set { userLoginTime = value; }
}
}
2.在你的解决方案资源管理器中选中你的网站名称,右键菜单选择添加新项。在对话框中选择 全局应用程序类 点击确定。完成后就可以看到出现了一个新文件Global.asax。
3.在Global.asax的如下函数的两个大括号内添加如下代码
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
// 实例化刚才建的类
UserInfo ui=new UserInfo();
//将SessionID放入实体类的对应字段中
ui.UserSessionID = Session.SessionID.ToString();
//将实体类放入Session["UserInfo"]中以便传递数据
Session["UserInfo"]= ui;
}
这样就可以了,在用户登录的时候就可以根据SessionID生成用户ID
如果要在页面取出使用的话用如下代码
UserInfo ui = Session["UserInfo"] as UserInfo;
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-07-12
session(id)=date.now()+username.tostring() 把这个session分割出来去就是年月日时分秒了。再精确点就再加上几个随机码给它。
第2个回答 2009-07-12
一楼的语法不是这样的好吗?
DateTime dt = DateTime.Now;
string userId = string.Format("{0:U}",dt);//yyyy年MM月D日 6:23:23
session["currentUser"] = userId;
c#语言。
DateTime dt = DateTime.Now;
string userId = string.Format("{0:U}",dt);//yyyy年MM月D日 6:23:23
session["currentUser"] = userId;
c#语言。
第3个回答 2009-07-12
年月日时分秒也不一定唯一。
你应该直接给每个用户分配一个GUID保证唯一性。
你应该直接给每个用户分配一个GUID保证唯一性。