2010-12-16 3 views
0
<profile>  
    <providers> 
    <clear/> 
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/> 
    </providers> 
    <properties> 
    <add name="FirstName"/> 
    <add name="LastName"/> 
    </properties> 
</profile> 

.Net SQL-Mitgliedschaftsanbieter benutzerdefinierten Anbieter Eigenschaft

Ich habe den Code-Schnipsel oben in meiner webconfig Datei. Ich versuche, die FirstName-Eigenschaft in Codebehind auf einer register.aspx-Seite festzulegen. Beispiel:

Profile.FirstName = ((TextBox)RegisterUser.CreateUserStep.ContentTemplateContainer.FindControl("FirstName")).Text; 

VS sagt Profil ist in System.Web.Profile-Namespace. Ich benutze es dann wie folgt: "System.Web.Profile.FirstName", sagt aber, dass der Vorname im System.Web.Profile.FirstName-Namespace nicht existiert.

Wie kann ich die Eigenschaft festlegen und später abrufen?

+0

Kannst du etwas mehr von deinem Code posten, genauer gesagt, ich suche nach dem 'Profil'? – CodingGorilla

Antwort

0

Profil sollte eine Eigenschaft mit einer automatisch generierten Klasse auf System.Web.Profile.ProfileBase Basis sein, die die Mitglieder, die Sie in Ihrer web.config-Datei definiert enthält. Hier ist der Link auf msdn: http://msdn.microsoft.com/de-de/library/system.web.profile.profilebase.aspx

Aber ich kann mich erinnern, dass ich auch das Problem hatte, dass die Datei nicht von Visual Studio generiert wird. Ich habe this post gefunden, wo Sie einen WebProfile-Generator als Erweiterung für den Buildprozess sehen können. Vielleicht kann dir das helfen.

0

Um stark typisierten Zugriff auf die Profilelemente zu erhalten, müssen Sie ein Werkzeug wie das Web Profile Builder verwenden.

In Website-Projekten erstellt Asp.net automatisch die stark typisierten Proxy-Klassen, die jedoch nicht automatisch in Web Application-Projekten erstellt werden.

+0

Macht die Verwendung von VS 2010 einen Unterschied mit dem WebProfileBuilder? Ich frage, weil ich den WebProfileBuilder ausgeführt habe. Ich habe die Import-Projekt-Zeile in meinem csproj hinzugefügt. Als ich die Lösung öffnete und kompilierte, wurde ich nicht aufgefordert, mein Projekt normal zu laden. Führt die Installation des MSI und des Bauprojekts zur Erstellung einer WebProfile-Klasse? Ich sehe nichts erschaffen. Wie lautet der Code zum Festlegen/Zugreifen auf Profileigenschaften? Dies scheint es nicht zu setzen: System.Web.Profile.ProfileBase.Properties ["FirstName"]. Name = ((TextBox) RegisterUser.CreateUserStep.ContentTemplateContainer.FindControl ("Vorname")). Text; – obautista

0

Sie können wie etwas tun:

Profile p = (Profile) ProfileBase.Create (Benutzername, true);

p.FirstName = "Vorname";

p.Save();

Wenn der Benutzer bereits ein Profil hat, gibt der Erstellungsaufruf das vorhandene Profil zurück, andernfalls wird ein neues Profil erstellt.

ProfileCommon ist eine automatisch generierte Klasse.

Verwandte Themen