ProfileBase.GetProfileGroup Method (String)
Gets a group of properties identified by a group name.
Assembly: System.Web (in System.Web.dll)
Parameters
- groupName
-
Type:
System.String
The name of the group of properties.
Return Value
Type: System.Web.Profile.ProfileGroupBaseA ProfileGroupBase object for a group of properties configured with the specified group name.
| Exception | Condition |
|---|---|
| System.Configuration.Provider.ProviderException | The specified profile property group name was not found in the configuration section. |
Profile properties can be separated into groups for better organization. The GetProfileGroup property can be used to retrieve a group of properties by the group name. You can also access a profile property in a group by specifying the group name as a member of the Profile property available on each page. For example, the ZipCode profile property that is a member of the Address profile group could be accessed using Profile.Address.ZipCode.
The following Web.config file specifies a user profile that contains group of properties with a group name of Address. The grouped properties generated for the Profile property of the current HttpContext will be preceded by the group name. For example, Profile.Address.Street.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString=
"Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="login.aspx"
name=".ASPXFORMSAUTH" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
<membership defaultProvider="SqlProvider"
userIsOnlineTimeWindow="15">
<providers>
<clear />
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="false"
passwordFormat="Hashed"
applicationName="MyApplication" />
</providers>
</membership>
<profile defaultProvider="SqlProvider">
<providers>
<add
name="SqlProvider"
connectionStringName="SqlServices"
applicationName="MyApplication"
type="System.Web.Profile.SqlProfileProvider" />
</providers>
<properties>
<add name="ZipCode" />
<group name="Address">
<add name="Street" />
<add name="City" />
<add name="State" />
<add name="CountryOrRegion" />
</group>
</properties>
</profile>
</system.web>
</configuration>
The following ASP.NET page reads and sets the grouped properties specified for the user profile.
Security Note
|
|---|
This example contains a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview. |
<%@ 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_Load() { if (!IsPostBack) { StreetTextBox.Text = Profile.Address.Street; CityTextBox.Text = Profile.Address.City; StateTextBox.Text = Profile.Address.State; CountryOrRegionTextBox.Text = Profile.Address.CountryOrRegion; ZipCodeTextBox.Text = Profile.ZipCode; } } public void UpdateButton_OnClick(object sender, EventArgs args) { Profile.Address.Street = StreetTextBox.Text; Profile.Address.City = CityTextBox.Text; Profile.Address.State = StateTextBox.Text; Profile.Address.CountryOrRegion = CountryOrRegionTextBox.Text; Profile.ZipCode = ZipCodeTextBox.Text; } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Home Page</title> </head> <body> <h3>Address Information for <%=User.Identity.Name%></h3> <form id="form1" runat="server"> <table border="1" cellpadding="2" cellspacing="2"> <tr> <td>Street Address</td> <td><asp:Textbox id="StreetTextBox" runat="server" columns="30" /></td> </tr> <tr> <td>City</td> <td><asp:Textbox id="CityTextBox" runat="server" columns="20" /></td> </tr> <tr> <td>State</td> <td><asp:Textbox id="StateTextBox" runat="server" columns="20" /></td> </tr> <tr> <td>Zip Code</td> <td><asp:Textbox id="ZipCodeTextBox" runat="server" columns="10" /></td> </tr> <tr> <td>Country</td> <td><asp:Textbox id="CountryOrRegionTextBox" runat="server" columns="20" /></td> </tr> </table> <asp:Button id="UpdateButton" runat="server" OnClick="UpdateButton_OnClick" Text="Update Address" /> </form> </body> </html>
Available since 2.0
