ASP.NET Tutorial/Profile/ProfileCommon
Get ProfileCommon
<source lang="csharp">
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="GetProfile" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
<title>Untitled Page</title>
</head> <body>
<form id="form1" runat="server">
User Name:<asp:TextBox ID="txtUserName" runat="server"/> <asp:Button ID="cmdGet" runat="server" OnClick="cmdGet_Click" Text="Get Profile" />
<asp:Label ID="lbl" runat="server" Text=""/>
</form>
</body> </html>
File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class GetProfile : System.Web.UI.Page {
protected void cmdGet_Click(object sender, EventArgs e) { ProfileCommon profile = Profile.GetProfile(txtUserName.Text); if (profile.LastUpdatedDate == DateTime.MinValue) { lbl.Text = "No user match found."; } else { lbl.Text = "This user lives in " + profile.FirstName; } }
}
File: Web.config <?xml version="1.0"?> <configuration>
<system.web> <profile> <properties> <add name="FirstName" type="String" serializeAs="Binary"/> <add name="LastName" type="String" serializeAs="Xml"/> <add name="DateOfBirth" type="DateTime" serializeAs="String"/> </properties> </profile> </system.web>
</configuration></source>
Profile object retrieved from the current HttpContext object must be case to a ProfileCommon object
<source lang="csharp">
File: Web.Config <configuration>
<system.web> <profile> <properties> <add name="firstName" defaultValue="Steve" /> </properties> </profile>
</system.web> </configuration>
File: App_Code\Default.cs using System; using System.Web; using System.Web.Profile; public class Default {
public static string GetFirstNameFromProfile() { ProfileCommon profile = (ProfileCommon)HttpContext.Current.Profile; return profile.firstName; }
} File: Default.aspx <%@ 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">
void Page_Load() { lblFirstName.Text = Default.GetFirstNameFromProfile(); }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Show Profile Component</title>
</head> <body>
<form id="form1" runat="server">
First Name: <asp:Label id="lblFirstName" Runat="server" />
</form>
</body> </html> </html></source>