Не получить свойства профиля в коде позади - PullRequest
0 голосов
/ 26 марта 2010

Я пытаюсь получить свойства профиля в коде позади. Но я не получаю никакой интеллигентности, как Profile.Homephone или Profile.CellPhone. Когда я пытаюсь:

Dim memberprofile As ProfileBase = HttpContext.Current.Profile
Dim homePhone As String = memberprofile.GetPropertyValue("HomePhone").ToString()

Я получаю Data is Null. Этот метод или свойство не могут быть вызваны при ошибке Null values. У меня есть данные для текущего пользователя в таблице профиля. В ближайшем окне я получаю следующие результаты

?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>

1 Ответ

0 голосов
/ 26 марта 2010

Вы получите сообщение об ошибке, если вызовете ToString (), если данные равны нулю; Вы можете обойти это, выполнив:

Dim homePhone As String = CType(memberprofile.GetPropertyValue("HomePhone"), String)

Приведение будет работать нормально, даже если данные равны нулю. Проверьте базу данных базы данных; Вы видите какие-либо значения в таблице aspnet_Profile (или с таким же именем, не помню точного имени) для этого пользователя?

НТН.

...