<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
<properties>
<add name="FirstName"/>
<add name="LastName"/>
</properties>
</profile>
我的webconfig文件中有上面的代码片段。我试图在register.aspx页面上的codebehind中设置FirstName属性。像这样:
Profile.FirstName = ((TextBox)RegisterUser.CreateUserStep.ContentTemplateContainer.FindControl("FirstName")).Text;
VS说Profile在System.Web.Profile命名空间中。然后我使用它像“System.Web.Profile.FirstName”,但是说System.Web.Profile.FirstName命名空间中不存在名字。
如何设置属性并稍后检索它?
答案 0 :(得分:0)
配置文件应该是具有基于System.Web.Profile.ProfileBase
的自动生成类的属性,其中包含您在web.config文件中定义的成员。以下是msdn上的链接:http://msdn.microsoft.com/de-de/library/system.web.profile.profilebase.aspx
但我记得我也有问题,该文件不是由visual studio生成的。我找到this post,您可以在其中看到WebProfile生成器作为构建过程的扩展。也许这可以帮到你。
答案 1 :(得分:0)
要获得对配置文件项的强类型访问权限,您需要使用Web Profile Builder等工具。
在网站项目中,Asp.net会自动创建强类型代理类,但不会在Web应用程序项目中自动创建。
答案 2 :(得分:0)
您可以执行以下操作:
ProfileCommon p =(ProfileCommon)ProfileBase.Create(username,true);
p.FirstName =“firstname”;
p.Save();
如果用户已有个人资料,则创建调用将返回现有个人资料,否则会创建新个人资料。
ProfileCommon是一个自动生成的类。