Freigeben über


ProfileBase.Properties Eigenschaft

Definition

Ruft eine Auflistung von SettingsProperty-Objekten für jede Eigenschaft im Profil ab.

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

Eigenschaftswert

Eine SettingsPropertyCollection von SettingsProperty-Objekten für jede Eigenschaft im Profil für die Anwendung.

Ausnahmen

Ein im Abschnitt profile der Datei „Web.config“ angegebener Eigenschaftentyp konnte nicht erstellt werden.

- oder -

Das allowAnonymous-Attribut für eine Eigenschaft im Abschnitt profile der Datei „Web.config“ ist auf true festgelegt, und das enabled-Attribut des <anonymousIdentification>-Elements ist auf false festgelegt.

- oder -

Das serializeAs-Attribut für eine Eigenschaft im Abschnitt profile der Datei „Web.config“ ist auf Binary festgelegt, und die IsSerializable-Eigenschaft vom angegebenen type gibt false zurück.

- oder -

Der mithilfe des provider-Attributs einer Profileigenschaft angegebene Name eines Anbieters konnte nicht in der Providers-Auflistung gefunden werden.

- oder -

Der für eine Profileigenschaft angegebene type konnte nicht gefunden werden.

- oder -

Es wurde eine Profileigenschaft mit einem Namen angegeben, der einem Eigenschaftennamen für die im inherits-Attribut des Abschnitts profile angegebene Basisklasse entspricht.

Beispiele

Im folgenden Codebeispiel werden die Namen der Eigenschaften im Benutzerprofil aufgelistet, indem die Name Eigenschaft von der statischen Properties Auflistung von SettingsProperty Objekten an ein GridView Steuerelement gebunden wird. Der ausgewählte Eigenschaftswert wird anhand des Namens mithilfe der Item[] Auflistung abgerufen. Ein Beispiel für eine Web.config-Datei, die Eigenschaften für das Benutzerprofil angibt, finden Sie im Für die ProfileBase -Klasse bereitgestellten Beispiel.

<%@ 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>

Hinweise

Sie können diese Eigenschaft verwenden, um Informationen zu den Profileigenschaften abzurufen, die für eine Anwendung konfiguriert sind, einschließlich Eigenschaftennamen und -typen. Sie können auch auf die ProfileProvider der einzelnen Eigenschaften verweisen. Ein ProfileProvider verwaltet das Speichern und Abrufen von Eigenschaftswerten in und aus der Datenquelle.

Gilt für:

Weitere Informationen