ProfileBase.GetPropertyValue(String) Methode

Definitie

Hiermee haalt u de waarde van een profieleigenschap op.

public:
 System::Object ^ GetPropertyValue(System::String ^ propertyName);
public object GetPropertyValue(string propertyName);
member this.GetPropertyValue : string -> obj
Public Function GetPropertyValue (propertyName As String) As Object

Parameters

propertyName
String

De naam van de profieleigenschap.

Retouren

De waarde van de opgegeven profieleigenschap, getypt als object.

Uitzonderingen

Er is een poging gedaan om een eigenschapswaarde in te stellen op een anoniem profiel waarin het kenmerk van allowAnonymous de eigenschap zich bevindt false.

Er zijn geen eigenschappen gedefinieerd voor het huidige profiel.

– of –

De opgegeven naam van de profieleigenschap bestaat niet in het huidige profiel.

– of –

De provider voor de opgegeven profieleigenschap herkent de opgegeven eigenschap niet.

Voorbeelden

In het volgende codevoorbeeld ziet u een ASP.NET pagina die de eigenschap ZipCode leest en instelt die is opgegeven voor het gebruikersprofiel. Zie het voorbeeld van de ProfileBase klasse voor een voorbeeld van een Web.config-bestand dat eigenschappen voor het gebruikersprofiel opgeeft.

Important

Dit voorbeeld bevat een tekstvak dat gebruikersinvoer accepteert. Dit is een mogelijke beveiligingsrisico. Standaard valideren ASP.NET webpagina's dat gebruikersinvoer geen script- of HTML-elementen bevat. Zie Overzicht van Script Exploits voor meer informatie.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

public void Page_PreRender()
{
  if (Profile.ZipCode == null)
  {
    PersonalizePanel.Visible = false;
    GetZipCodePanel.Visible = true;
  }
  else
  {
    ZipCodeLabel.Text = Profile.ZipCode;

    // Get personalized information for zip code here.

    PersonalizePanel.Visible = true;
    GetZipCodePanel.Visible = false;
  }
}

public void ChangeZipCode_OnClick(object sender, EventArgs args)
{
  ZipCodeTextBox.Text = Profile.ZipCode;
  Profile.ZipCode = null;

  PersonalizePanel.Visible = false;
  GetZipCodePanel.Visible = true;
}

public void EnterZipCode_OnClick(object sender, EventArgs args)
{
  Profile.ZipCode = ZipCodeTextBox.Text;
}

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Home Page</title>
</head>
<body>

<form id="form1" runat="server">
  <table border="1" cellpadding="2" cellspacing="2">
    <tr>
      <td>
        <asp:Panel id="PersonalizePanel" runat="Server" Visible="False">
          Information for Zip Code: <asp:Label id="ZipCodeLabel" Runat="Server" /><br />
          <!-- Information for Zip Code here. -->
          <br />
          <asp:LinkButton id="ChangeZipCodeButton" Runat="Server" Text="Change Your Zip Code"
                          OnClick="ChangeZipCode_OnClick" />
        </asp:Panel>
        <asp:Panel id="GetZipCodePanel" runat="Server" Visible="False">
          You can personalize this page by entering your Zip Code: 
          <asp:TextBox id="ZipCodeTextBox" Columns="5" MaxLength="5" runat="Server" />
          <asp:LinkButton id="EnterZipCodeButton" Runat="Server" Text="Go"
                          OnClick="EnterZipCode_OnClick" />
        </asp:Panel>
      </td>
    </tr>
  </table>
</form>

</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

Public Sub Page_PreRender()

  If Profile.ZipCode = Nothing Then
    PersonalizePanel.Visible = False
    GetZipCodePanel.Visible = True
  Else
    ZipCodeLabel.Text = Profile.ZipCode

    ' Get personalized information for zip code here.

    PersonalizePanel.Visible = True
    GetZipCodePanel.Visible = False
  End If

End Sub

Public Sub ChangeZipCode_OnClick(sender As Object, args As EventArgs)
  ZipCodeTextBox.Text = Profile.ZipCode
  Profile.ZipCode = Nothing

  PersonalizePanel.Visible = False
  GetZipCodePanel.Visible = True
End Sub

Public Sub EnterZipCode_OnClick(sender As Object, args As EventArgs)
  Profile.ZipCode = ZipCodeTextBox.Text
End Sub

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Home Page</title>
</head>
<body>

<form id="form1" runat="server">
  <table border="1" cellpadding="2" cellspacing="2">
    <tr>
      <td>
        <asp:Panel id="PersonalizePanel" runat="Server" Visible="False">
          Information for Zip Code: <asp:Label id="ZipCodeLabel" Runat="Server" /><br />
          <!-- Information for Zip Code here. -->
          <br />
          <asp:LinkButton id="ChangeZipCodeButton" Runat="Server" Text="Change Your Zip Code"
                          OnClick="ChangeZipCode_OnClick" />
        </asp:Panel>
        <asp:Panel id="GetZipCodePanel" runat="Server" Visible="False">
          You can personalize this page by entering your Zip Code: 
          <asp:TextBox id="ZipCodeTextBox" Columns="5" MaxLength="5" runat="Server" />
          <asp:LinkButton id="EnterZipCodeButton" Runat="Server" Text="Go"
                          OnClick="EnterZipCode_OnClick" />
        </asp:Panel>
      </td>
    </tr>
  </table>
</form>

</body>
</html>

Opmerkingen

ASP.NET gebruikt de klasse ProfileBase om de klasse te maken die wordt gebruikt voor het gebruikersprofiel. Wanneer een toepassing waarvoor het gebruikersprofiel is ingeschakeld, wordt gestart, maakt ASP.NET een nieuwe klasse van het type ProfileCommon, die wordt overgenomen van de klasse ProfileBase. Sterk getypte accessors worden toegevoegd aan de ProfileCommon klasse voor elke eigenschap die is gedefinieerd in de sectie profielconfiguratie . De sterk getypte accessors van de ProfileCommon klasse roepen de GetPropertyValue methode aan om niet-getypte waarden op te halen van de ProfileProvider waarde die door de gegenereerde accessor vervolgens wordt omgezet als het opgegeven type en wordt geretourneerd als de eigenschapswaarde.

U kunt de GetPropertyValue methode gebruiken om eigenschapswaarden van het gebruikersprofiel voor uw toepassing op naam op te halen. Geretourneerde waarden zijn niet getypt en moeten worden gecast als het specifieke objecttype wanneer ze worden opgehaald. Voor sterk getypte toegang tot profieleigenschapswaarden hebt u toegang tot de eigenschap op naam als lid van de eigenschap Profiel die op elke pagina beschikbaar is, bijvoorbeeld Profile.CustomerAddress.

Van toepassing op

Zie ook