0

コードビハインドでプロファイルプロパティを取得しようとしています。しかし、私はまたはのような知性を得ていませProfile.HomephoneProfile.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")
"" {弦}
    弦: ""

ページ読み込みイベントでプロパティ値を実行できません。これは私の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>
4

1 に答える 1

0

データがnullの場合にToString()を呼び出すと、エラーが発生します。次のようにして、これを回避できます。

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

データがnullの場合でも、キャストは正常に機能します。バックエンドデータベースを確認してください。そのユーザーのaspnet_Profile(または同様の名前で正確な名前を思い出せない)テーブルに値が表示されていますか?

HTH。

于 2010-03-26T12:25:35.373 に答える