我有一个组件,里面有一个方法是提供给其他组件调用的,在此方法中需要将当前用户ID存入数据库,
有不有什么好办法在其他组件中得到当前用户的ID,然后传给此方法,我不想采用每个组件加个用户ID的属性,然后每个组件每次在页面实例化的时候,将用户ID赋给组件,这样很麻烦,有没有比较好的方法可以解决这个问题?谢谢大家了!

解决方案 »

  1.   

    你这个ID是在哪 ,Session还是Cookie内
    如果是System.Web.HttpContext.Current.Request.
      

  2.   

    存在于前台页面中,可能在SESSION也可能在COOKIES中,先试下aspdotnet2005的方法
      

  3.   

    System.Web.HttpContext.Current.Request
    这种方法可以取到session或cookies,但要注意,如果你的组件存在被后台自动调用的情况,再使用这种方式会引起错误.
      

  4.   

    用全局对象,静态变量。或者在配置文件中定义用户的身份,然后用Request对象取出。
      

  5.   

    TO: hchxxzx(NET?摸到一点门槛) 
    你说的在后台被自动调用是什么意思,能说得详细一点吗?
    有其他的办法吗?
      

  6.   

    为获取用户ID这一功能提供独立的类或组件(如:建一个静态类User,并提供一个静态属性ID),在其它组件与中间层交互时,使用User.ID来做为中间层所需的用户ID参数。这样就不需在每个组件中都定义ID属性了。希望能对你有帮助!
      

  7.   

    你说的在后台被自动调用是什么意思,能说得详细一点吗?
    ---------------
    指非人为从页面进行调用,不从page页面调用,上述语句依赖于page页面而存在.