“如何获取 login 控件登陆后的用户名”之解决

方法有二:

一、在 aspx 页面中添加一个 LoginName 控件就可以获得用户名;

二、如果 LoginName 控件是放在 master 模版中的,内容页该如何获取呢?

  1)在内容页 aspx.cx 中添加命名空间:

    using System.Web;

  2)在 Page_LoadComplete 中使用 HttpContext 方法

    protected void Page_LoadComplete(object sender, EventArgs e)
        {
            message.Text = "用户名:" + HttpContext.Current.User.Identity.Name.ToString();
        }

MSDN:HttpContext 类

  封装有关个别 HTTP 请求的所有 HTTP 特定的信息。
  命名空间:System.Web
  程序集:System.Web(在 System.Web.dll 中)

  HttpContext代表的是当前访问的上下文,你可以通过它获取当前会话的相关信息,它其实来自于一个委托的参数原形、该委托的声明如下。

  public delegate string HttpResponseSubstitutionCallback(HttpContext context)

  使用委托可以在运行时动态设定要调用的方法,比如一个事件它本身不能完成一定的功能,就可以通过委托其他方法来实现。调用委托时要注意,调用的方法必须与委托的方法有相同的方法签名。如Subsitution控件的MethodName调用的方法必须与HttpResponseSubstitutionCallback委托的签名相匹配,返回结果为string格式,参数为HttpContext类型。

 

posted @ 2013-04-01 20:37  PC疯子  阅读(411)  评论(0编辑  收藏  举报