ProfileBase.Properties Eigenschap

Definitie

Hiermee haalt u een verzameling SettingsProperty objecten op voor elke eigenschap in het profiel.

public:
 static property System::Configuration::SettingsPropertyCollection ^ Properties { System::Configuration::SettingsPropertyCollection ^ get(); };
public static System.Configuration.SettingsPropertyCollection Properties { get; }
static member Properties : System.Configuration.SettingsPropertyCollection
Public Shared ReadOnly Property Properties As SettingsPropertyCollection

Waarde van eigenschap

Een SettingsPropertyCollection van SettingsProperty de objecten voor elke eigenschap in het profiel voor de toepassing.

Uitzonderingen

Er kan geen eigenschapstype worden gemaakt dat is opgegeven in de profielsectie van het Web.config-bestand.

– of –

Het allowAnonymous kenmerk voor een eigenschap in de profielsectie van het bestand Web.config is ingesteld true op en het enabled kenmerk van het <anonymousIdentification-element> is ingesteld op false.

– of –

Het serializeAs kenmerk voor een eigenschap in de profielsectie van het bestand Web.config is ingesteld op Binary en de IsSerializable eigenschap van de opgegeven type retourneert false.

– of –

De naam van een provider die is opgegeven met behulp van het provider kenmerk van een profieleigenschap, is niet gevonden in de Providers verzameling.

– of –

Kan de type opgegeven voor een profieleigenschap niet vinden.

– of –

Er is een profieleigenschap opgegeven met een naam die overeenkomt met een eigenschapsnaam op de basisklasse die is opgegeven in het inherits kenmerk van de profielsectie .

Voorbeelden

In het volgende codevoorbeeld worden de namen van de eigenschappen in het gebruikersprofiel weergegeven door de Name eigenschap van de statische Properties verzameling SettingsProperty objecten aan een GridView besturingselement te binden. De geselecteerde eigenschapswaarde wordt opgehaald op naam met behulp van de Item[] verzameling. Zie het voorbeeld van de ProfileBase klasse voor een voorbeeld van een Web.config-bestand dat eigenschappen voor het gebruikersprofiel opgeeft.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Profile" %>

<!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_Load()
{
  if (!IsPostBack)
  {
    PropertiesListBox.DataSource = ProfileBase.Properties;
    PropertiesListBox.DataBind();
  }

  if (PropertiesListBox.SelectedItem != null)
  {
    object propValue = Profile[PropertiesListBox.SelectedItem.Text];

    Type propType = propValue.GetType();

    // If the property is a value type, return ToString().

    if (propType == typeof(string) || propType.IsValueType)
    {
      ValueLabel.Visible = true;
      ValueGridView.Visible = false;
      ValueLabel.Text = propValue.ToString();
      return;
    }


    // Bind the property to a GridView.

    try
    {
      ValueGridView.DataSource = propValue;
      ValueGridView.DataBind();
      ValueGridView.Visible = true;
      ValueLabel.Visible = false; 
    }
    catch
    {
      // If the property is not bindable, return ToString().

      ValueLabel.Visible = true;
      ValueGridView.Visible = false;
      ValueLabel.Text = propValue.ToString();
    }
  }
}

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

<h3>View Profile properties:</h3>

<form id="form1" runat="server">
  <table border="0" cellpadding="2" cellspacing="2">
    <tr>
      <td>Property</td>
      <td>Value</td>
    </tr>
    <tr>
      <td valign="top">
        <asp:ListBox runat="server" id="PropertiesListBox" Rows="10" AutoPostBack="True" DataTextField="Name" />
      </td>
      <td valign="top">
        <asp:GridView runat="Server" id="ValueGridView" Visible="False" />
        <asp:Label runat="Server" id="ValueLabel" Visible="False" />
      </td>
    </tr>
  </table>
</form>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Profile" %>

<!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_Load()

  If Not IsPostBack Then
    PropertiesListBox.DataSource = ProfileBase.Properties
    PropertiesListBox.DataBind()
  End If

  If Not PropertiesListBox.SelectedItem Is Nothing Then
    Dim propValue As Object = Profile(PropertiesListBox.SelectedItem.Text)

    Dim propType As Type = propValue.GetType()

    ' If the property is a value type, return ToString().

    If propType Is GetType(String) Or propType.IsValueType Then
      ValueLabel.Visible = True
      ValueGridView.Visible = False
      ValueLabel.Text = propValue.ToString()
      Return
    End If


    ' Bind the property to a GridView.

    Try
      ValueGridView.DataSource = propValue
      ValueGridView.DataBind()
      ValueGridView.Visible = True
      ValueLabel.Visible = False 
    Catch
      ' If the property is not bindable, return ToString().

      ValueLabel.Visible = True
      ValueGridView.Visible = False
      ValueLabel.Text = propValue.ToString()
    End Try
  End If
End Sub

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

<h3>View Profile properties:</h3>

<form id="form1" runat="server">
  <table border="0" cellpadding="2" cellspacing="2">
    <tr>
      <td>Property</td>
      <td>Value</td>
    </tr>
    <tr>
      <td valign="top">
        <asp:ListBox runat="server" id="PropertiesListBox" Rows="10" AutoPostBack="True" DataTextField="Name" />
      </td>
      <td valign="top">
        <asp:GridView runat="Server" id="ValueGridView" Visible="False" />
        <asp:Label runat="Server" id="ValueLabel" Visible="False" />
      </td>
    </tr>
  </table>
</form>

</body>
</html>

Opmerkingen

U kunt deze eigenschap gebruiken om informatie op te halen over de profieleigenschappen die zijn geconfigureerd voor een toepassing, inclusief eigenschapsnamen en -typen. U kunt ook naar de ProfileProvider eigenschap verwijzen. Een ProfileProvider beheert de opslag en het ophalen van eigenschapswaarden van en naar de gegevensbron.

Van toepassing op

Zie ook