ASP.NET成员资格(MVC)中的强类型配置文件值

时间:2011-09-29 21:21:08

标签: asp.net-mvc asp.net-mvc-3 asp.net-membership strong-typing asp.net-profiles

我已经使用ASP.NET MVC进行基于会员的登录已有好几年了,而且一切正常(现在是MVC3,但是自第一个版本MVC1以来,成员资格没有变化)。现在我需要在配置文件中添加一个值(只有一个很少使用的值 - 因此它不保证自定义成员资格提供程序或自定义表)

我通过profile.SetPropertyValue("myprop")开始工作,但我真的想让profile.myprop工作。有可能吗?

我看到一些建议要有一个自定义类MyProfile : ProfileBase并将myprop作为该类的属性。出于某种原因,将ProfileBase.Create(currentUser.UserName)投射到MyProfile会给我一个错误(非法投射)。

是否有一个带有Profile的ASP MVC应用程序的示例,类似于ScottGu的这个Old Post

1 个答案:

答案 0 :(得分:1)

Joel Spolsky对这个问题有一个很好的答案on this post。你基本上是在正确的轨道上。

如果您收到非法播放错误,则很可能是由于配置文件中的问题。确保包含此内容;更具体地说是<profile defaultProvider="SqlProvider" inherits="YourNamespace.AccountProfile">部分。

           

<profile defaultProvider="SqlProvider" inherits="YourNamespace.AccountProfile">
    <providers>
         <clear />
         <add name="SqlProvider"
              type="System.Web.Profile.SqlProfileProvider"
              connectionStringName="sqlServerMembership" />
    </providers>
</profile>