1 LoginView里面的Loginintemplate模板里面放置了一个dropdownlist控件,但是在代码中却找不到dropdownlist控件,在它本身的事件中也看不到他自己。请问有什么办法吗?我现在就是用FindControl的方法来实现。2 使用LoginName控件可以一句代码也不用写的情况下获取当前登陆用户名称,请问在asp.net2.0中是否有内置方法来获取登陆的用户名称,登陆时间、上次登陆的时间,而不是用session来保存。

解决方案 »

  1.   

    1 LoginView里面的Loginintemplate模板里面放置了一个dropdownlist控件,但是在代码中却找不到dropdownlist控件,在它本身的事件中也看不到他自己。请问有什么办法吗?我现在就是用FindControl的方法来实现。
      原因是你没有登录,当登录以后才可以用代码访问Loginintemplate中的控件。代码如下:
      
    protected void Button1_Click(object sender, EventArgs e)
        {
            DropDownList tempDropDownList ;
            tempDropDownList = (DropDownList) LoginView1.FindControl("DropDownList1");
            Response.Write(tempDropDownList.SelectedValue.ToString());
        }
    2 使用LoginName控件可以一句代码也不用写的情况下获取当前登陆用户名称,请问在asp.net2.0中是否有内置方法来获取登陆的用户名称,登陆时间、上次登陆的时间,而不是用session来保存。
        取得登录用户名的方法如下:
            string UserName;
            UserName = HttpContext.Current.User.Identity.Name.ToString();
        
        上次登录时间可能存在于:aspnet_user表中,这个不能确定,我也没有试过,不过里面有个字段好象记录的是。
         登录时间估计是不能取得了,想办法扩展相关的类吧。
      

  2.   

    又看了一下,关于取得用户的信息不用直接访问数据库,用类似于:membership.getuser访问。
    如:Response.Write( Membership.GetUser("username string").LastLoginDate.ToString())访问。