笨?
这种角色权限 正常情况下都是用session啊
就算你不用session,而你想获得用户的信息,
因为信息在数据库里,当然要访问数据库啊 看了半天 不知道LZ 到底是哪里有问题~ 汗~
这种角色权限 正常情况下都是用session啊
就算你不用session,而你想获得用户的信息,
因为信息在数据库里,当然要访问数据库啊 看了半天 不知道LZ 到底是哪里有问题~ 汗~
解决方案 »
- No row with the given identifier exists
- [求助]如何可以调用PGP方法加密解密...?
- session超时问题
- 关于非空验证控件的问题
- asp.net环境配置问题? 求助啊!
- 在一个textbox里输入5个字符窜的内容后,自动转到第二个textbox
- 菜鸟请教一个下载打开的问题
- DataGrid编辑列中的DorpDownList怎么绑定数据?
- 如何将一个数组绑定DataGrid中一列?
- #############急急急!!!!!!新买服务器设置.net问题!!!##########
- asp 采集程序,有样例,需定制?有偿服务!!
- 高手指点vs.net2005中的创建类的问题!!!
protected void Page_Load(object sender, EventArgs e)
{
if(Session["UserID"] != null)
{
Response.Write("你可以访问");
}
else
{
Response.Write("你没权访问");
}
}
public static string ReturnFieldValue(string table, string field, string efield, string e)
{
SqlConnection con = DB.creatCon();
con.Open();
SqlCommand cmd = new SqlCommand("select " + field + " from " + table + " where " + efield + "='" + e + "'", con);
string str = cmd.ExecuteScalar().ToString();
con.Close();
return str;
}
然后我来到了hehe.aspx页面,这个页面下我需要提供用户的性别,所以我就么这写:
string sex = ReturnFieldValue("User","SEX","ID",Session["UserID"])
姓别就是sex的值,大家觉得这样做说得过去么,能将就么?
要取值时我就赋4个参数,分别为用户表名,字段名,查旬条件字段,和查旬条件值。这要是页面需要一二个我觉得还能将就,可是要我把所有用户信息都列出来,我不是每个都得调用一下ReturnFieldValue()函数来访问数据库吧!这下大家明白我想要那种方法的心情和概念了吧!。
就是用户登陆后信息全放到dataSet中,然后把它放到Session中,我觉得好像就是5楼说的那个意思,要是这样也不错呀,为什么有人说不见意这么做呢?
Session["xxx"] = dataset
DataSet ds = (DataSet)Session["xxx"];
---------------------------------------------
到现在有三种方法了,不过好像都不理想或者说是好像是歪门斜道,到底真正正确的方法是什么呢,这么常用的问题没有人考虑过么,我自己亲自做网站的人100%会遇到这种情况,希望大家讨论帮助!下面看看到现在的三种方法:
1、把用户信息存放到实体类中(这种做法,具体步骤我不会,待解....)
2、把用户信息存放到DataSet内存数据库中(这种做法,珍体步骤还能将就写下,只是有评论说不见意用这种方法...原因未知!)
3、只通过Session["UserID"]做为查询条件来访问数据库,查到想要的字段信息的值(这种方法可行,但如果页要要提供大量用户信息,如用户名、密码、年龄、性别、生宵、爱好、注册时间、出生年月等更多用户信息的话可能要频繁访问数据库占用大量资源,突然想到可以一次全查出,但还是觉得不得劲)总而言之,看谁能找到这样的方法(我想100%有):
只在用户点击登陆的时候,获取用户所有信息资料,放在一个全局变量(这个变量是一个具有唯一性的,就和Session一样的变量)中,然后在任何地方只要想调用该用户的某个信息时,直接取出就好!
然后在以后的界面里
直接取相应数据的session值
这样就好了
这样只要登陆的时候读取数据库信息
以后就不用了
只是加快读取速度
照样还是要读取的啊