我正在尝试在代码中获取Profile属性。但我没有像Profile.Homephone
或Profile.CellPhone
这样的任何智慧。当我尝试:
Dim memberprofile As ProfileBase = HttpContext.Current.Profile
Dim homePhone As String = memberprofile.GetPropertyValue("HomePhone").ToString()
我得到Data is Null
。无法在Null值错误上调用此方法或属性。我在配置文件表中有当前用户的数据。
我在即时窗口中得到以下结果
?HttpContext.Current.Profile.UserName.ToString "sub2" ?Profile.DefaultProfile.Properties.Count 2 ? HttpContext.Current.Profile("HomePhone") "" {String} String: ""
我无法在页面加载事件中运行属性值。 这是我的web.config文件设置:
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" connectionStringName="Primary" applicationName="MyFmNow.com"
type="System.Web.Profile.SqlProfileProvider" />
</providers>
<properties>
<add name="HomePhone" type="String" />
<add name="CellPhone" type="String"/>
</properties>
</profile>
答案 0 :(得分:0)
如果您调用ToString(),如果data为null,则会出现错误;你可以通过这样做来解决这个问题:
Dim homePhone As String = CType(memberprofile.GetPropertyValue("HomePhone"), String)
即使数据为空,转换也可以正常工作。检查后端数据库;你看到该用户的aspnet_Profile(或类似名称,不记得确切名称)表中的任何值?
HTH。