Aracılığıyla paylaş


ProfileBase.GetPropertyValue(String) Yöntem

Tanım

Profil özelliğinin değerini alır.

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

Parametreler

propertyName
String

Profil özelliğinin adı.

Döndürülenler

Belirtilen profil özelliğinin olarak yazılan objectdeğeri.

Özel durumlar

Anonim profilde özelliğin özniteliğinin falseolduğu bir özellik allowAnonymous değeri ayarlama girişiminde bulunuldu.

Geçerli profil için tanımlı özellik yok.

-veya-

Belirtilen profil özellik adı geçerli profilde yok.

-veya-

Belirtilen profil özelliğinin sağlayıcısı belirtilen özelliği tanımadı.

Örnekler

Aşağıdaki kod örneği, kullanıcı profili için belirtilen özelliği okuyan ve ayarlayan ZipCode bir ASP.NET sayfasını gösterir. Kullanıcı profilinin özelliklerini belirten bir Web.config dosyası örneği için sınıf için ProfileBase sağlanan örne bakın.

Önemli

Bu örnek, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu içerir. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz. Betik Açıklarına Genel Bakış.

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

Açıklamalar

ASP.NET, kullanıcı profili için kullanılan sınıfı oluşturmak için sınıfını kullanır ProfileBase . Kullanıcı profilinin etkinleştirildiği bir uygulama başlatıldığında, ASP.NET sınıfından ProfileBase devralan yeni bir tür ProfileCommonsınıfı oluşturur. Kesin olarak türü belirlenmiş erişimciler, profil yapılandırması bölümünde tanımlanan her özellik için sınıfına eklenirProfileCommon. Sınıfın ProfileCommon kesin olarak türü belirtilmiş erişimcileri, oluşturulan erişimcinin belirtilen tür olarak yayınlayıp özellik değeri olarak döndürdüğü türünden ProfileProvider türlenmemiş değerleri almak için yöntemini çağırırGetPropertyValue.

Uygulamanızın kullanıcı profilinin GetPropertyValue özellik değerlerini ada göre almak için yöntemini kullanabilirsiniz. Döndürülen değerler yazılmamıştır ve alındığında belirli nesne türü olarak atanmalıdır. Profil özelliği değerlerine kesin olarak yazılan erişim için, her sayfada bulunan Profil özelliğinin bir üyesi olarak ada göre özelliğine erişebilirsiniz; örneğin, Profile.CustomerAddress.

Şunlara uygulanır

Ayrıca bkz.