ProfileBase.SetPropertyValue(String, Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Legt den Wert einer Profileigenschaft fest.
public:
void SetPropertyValue(System::String ^ propertyName, System::Object ^ propertyValue);
public void SetPropertyValue (string propertyName, object propertyValue);
member this.SetPropertyValue : string * obj -> unit
Public Sub SetPropertyValue (propertyName As String, propertyValue As Object)
Parameter
- propertyName
- String
Der Name der festzulegenden Eigenschaft.
- propertyValue
- Object
Der Wert, der der Eigenschaft zugewiesen werden soll.
Ausnahmen
Es wurde versucht, einen Eigenschaftswert für ein anonymes Profil einer Eigenschaft festzulegen, bei der das allowAnonymous
-Attribut false
ist.
Für das aktuelle Profil sind keine Eigenschaften definiert.
- oder -
Der angegebene Profileigenschaftenname ist im aktuellen Profil nicht vorhanden.
- oder -
Der Anbieter für die angegebene Profileigenschaft hat die angegebene Eigenschaft nicht erkannt.
Es wurde versucht, einen Wert für eine Eigenschaft festzulegen, die als schreibgeschützt gekennzeichnet war.
Es wurde versucht, einer Eigenschaft mit einem nicht kompatiblen Typ einen Wert zuzuweisen.
Beispiele
Im folgenden Codebeispiel wird eine ASP.NET Seite angezeigt, die die ZipCode
für das Benutzerprofil angegebene Eigenschaft liest und legt sie fest. Ein Beispiel für eine Web.config-Datei, die Eigenschaften für das Benutzerprofil angibt, finden Sie im Beispiel, das für die ProfileBase Klasse bereitgestellt wird.
Wichtig
Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, die eine potenzielle Sicherheitsrisiken darstellen. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.
<%@ 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>
Hinweise
ASP.NET verwendet die Klasse zum Erstellen der Klasse, die ProfileBase für das Benutzerprofil verwendet wird. Wenn eine Anwendung, die das Benutzerprofil aktiviert hat, gestartet wird, erstellt ASP.NET eine neue TypklasseProfileCommon
, die von der ProfileBase Klasse erbt. Stark eingegebene Accessoren werden der Klasse für jede eigenschaft hinzugefügt, die ProfileCommon
im Profilkonfigurationsabschnitt definiert ist. Die stark eingegebenen Zugriffsoren der ProfileCommon
Klasse rufen die SetPropertyValue Methode auf, um Eigenschaftswerte an die ProfileProvider Datenquelle zu übergeben.
Sie können die SetPropertyValue Methode verwenden, um Eigenschaftenwerte im Benutzerprofil für Ihre Anwendung nach Name zuzuweisen. Werte sind nicht eingegeben, und die Typüberprüfung erfolgt zur Laufzeit, nicht zur Kompilierungszeit. Für einen stark eingegebenen Zugriff auf Profileigenschaftenwerte können Sie auf die Eigenschaft mithilfe des Namens als Mitglied der Profile
Eigenschaft zugreifen, die auf jeder Seite verfügbar ist, z Profile.CustomerAddress
. B. .