ProfileBase.Properties Özellik

Tanım

Profildeki SettingsProperty her özellik için bir nesne koleksiyonu alır.

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

Özellik Değeri

SettingsPropertyCollection SettingsProperty Uygulamanın profilindeki her özelliğin nesnelerinden biri.

Özel durumlar

Web.config dosyasının profil bölümünde belirtilen özellik türü oluşturulamadı.

-veya-

Web.config dosyasının profil bölümündeki bir özelliğin özniteliği olarak, trueanonymousIdentification> öğesinin< özniteliği ise olarak ayarlanırfalse.enabledallowAnonymous

-veya-

serializeAsWeb.config dosyasının profil bölümündeki bir özelliğin özniteliği olarak ayarlanır Binary ve IsSerializable belirtilen type özelliği döndürürfalse.

-veya-

Profil özelliğinin özniteliği kullanılarak provider belirtilen sağlayıcının adı koleksiyonda Providers bulunamadı.

-veya-

Profil type özelliği için belirtilen bulunamadı.

-veya-

Profil özelliği, profil bölümünün özniteliğinde inherits belirtilen temel sınıftaki bir özellik adıyla eşleşen bir adla belirtildi.

Örnekler

Aşağıdaki kod örneği, statik nesne GridView koleksiyonundan bir denetime özelliğini bağlayarak Name kullanıcı profilindeki Properties özelliklerin SettingsProperty adlarını listeler. Seçilen özellik değeri, koleksiyonu kullanılarak Item[] ada göre alınır. Kullanıcı profilinin özelliklerini belirten bir Web.config dosyası örneği için sınıf için ProfileBase sağlanan örne bakın.

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

Açıklamalar

Özellik adları ve türleri de dahil olmak üzere bir uygulama için yapılandırılan profil özellikleri hakkında bilgi almak için bu özelliği kullanabilirsiniz. Her özelliğin öğesine ProfileProvider de başvurabilirsiniz. A ProfileProvider , veri kaynağına ve veri kaynağından özellik değerlerinin depolanmasını ve alınmasını yönetir.

Şunlara uygulanır

Ayrıca bkz.