VB.NET中如何获取LoginName1控件的字符串值?现有方法返回控件类型
解决VB.NET获取LoginName控件用户名的问题
问题原因
你之前的代码错误地对LoginName1控件自身调用FindControl,而且直接操作控件对象时,默认的ToString()会返回控件的类型名称(即System.Web.UI.WebControls.LoginName),而不是实际的用户名。
正确获取方法
方法1:使用LoginName控件的UserName属性
LoginName控件自带UserName属性,直接返回当前登录用户的用户名字符串,可直接用于参数传递:
Dim userName As String = LoginName1.UserName
方法2:从用户身份标识中获取
LoginName控件显示的用户名本质上来自当前登录用户的身份信息,也可以直接从Page.User.Identity中获取:
Dim userName As String = Page.User.Identity.Name
补充说明
如果当前用户未登录,这两种方法都会返回空字符串,使用前可以先判断用户是否登录:
If Page.User.Identity.IsAuthenticated Then Dim userName As String = LoginName1.UserName ' 在这里使用userName作为参数传递 End If
内容的提问来源于stack exchange,提问作者Martha
相关产品推荐
相关产品推荐

