用户配置文件.docx
- 文档编号:9025948
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:48
- 大小:54.75KB
用户配置文件.docx
《用户配置文件.docx》由会员分享,可在线阅读,更多相关《用户配置文件.docx(48页珍藏版)》请在冰豆网上搜索。
用户配置文件
3.3 使用用户配置文件
ASP.NET2.0Framework提供了一种可选的不同于cookie和Session状态的方式存储用户信息:
Profile对象。
Profile对象提供强类型、可持久化的Session状态表单。
可以在应用程序的根Web配置文件定义一组Profile属性来创建Profile。
ASP.NETFramework在后台动态编译一个包含这些属性的类。
例如,代码清单3-19所示的Web配置文件定义了一个Profile包含了三个属性:
firstName、lastName和numverOfVisits。
代码清单3-19 Web.config
xmlversion="1.0"?
>
当定义Profile属性时,可以使用下面的属性:
qname——用于指定属性名称;
qtype——用户指定属性类型。
类型可以是任意类型,包括定义在App_Code文件夹中的自定义组件(默认值是字符串类型);
qdefaultValue——用于指定属性默认值;
qreadOnly——用于创建只读属性(默认值为false);
qserializeAs——用于指定一个属性如何持久化为静态持久化数据。
可能的值有Binary、ProviderSpecific、String和Xml(默认值为ProviderSpecific);
qallowAnonymous——用于允许匿名用户读写属性(默认值为false);
qprovider——用于关联属性到特定的Profile提供程序;
qcustomProviderData——用于传递自定义数据到Profile提供程序。
在Web配置文件中定义Profile后,可以使用Profile对象修改Profile属性。
例如,代码清单3-20所示的页面使用一个表单修改firstName和lastName属性的值。
并且,页面在每次被请求时自动更新numberOfVisits属性(见图3-7)。
代码清单3-20 ShowProfile.aspx
<%@PageLanguage="C#"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
voidPage_PreRender()
{
lblFirstname.Text=Profile.firstName;
lblLastName.Text=Profile.lastName;
Profile.numberOfVisits++;
lblNumberOfVisits.Text=Profile.numberOfVisits.ToString();
}
protectedvoidbtnUpdate_Click(objectsender,EventArgse)
{
Profile.firstName=txtNewFirstName.Text;
Profile.lastName=txtNewLastName.Text;
}
//www.w3.org/1999/xhtml">
FirstName:
Label id="lblFirstname" Runat="server"/> LastName: Label id="lblLastName" Runat="server"/> NumberofVisits: Label id="lblNumberOfVisits" Runat="server"/> Label id="lblNewFirstName" Text="NewFirstName: " AssociatedControlID="txtNewFirstName" Runat="server"/> TextBox id="txtNewFirstName" Runat="server"/> Label id="lblNewLastName" Text="NewLastName: " AssociatedControlID="txtNewLastName" Runat="server"/> TextBox id="txtNewLastName" Runat="server"/> Button id="btnUpdate" Text="UpdateProfile" OnClick="btnUpdate_Click" Runat="server"/>