【问题标题】:Profile property not found in ASP.NET 4在 ASP.NET 4 中找不到配置文件属性
【发布时间】:2012-09-10 15:46:12
【问题描述】:

我正在使用 ASP.NET 4 开箱即用的表单身份验证方法。 我想向用户的配置文件添加一些自定义属性,因此我将以下代码添加到我的 web.config 文件中:

<profile enabled="true">

  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" 
         type="System.Web.Profile.SqlProfileProvider" 
         connectionStringName="ApplicationServices" 
         applicationName="/"/>
  </providers> 

  <properties>        
    <add name="DisplayName"/>
    <add name="PhoneNumber"/>
    <add name="FaxNumber"/>
    <add name="Email"/>
  </properties>

</profile>

但是当我尝试使用类似的东西访问 aspx 文件中的任何这些属性时:

TextBox.Text = Profile.DisplayName;

我在DisplayName 下看到一条红线,上面写着ProjectName.Profile does not contain a definition for DisplayName

我已经在网上搜索了几个小时,但我一无所知。有关如何解决此问题的任何想法?

【问题讨论】:

    标签: asp.net asp.net-4.0 asp.net-profiles


    【解决方案1】:

    尝试在配置文件节点上设置 defaultProvider 属性

    <profile defaultProvider="AspNetSqlProfileProvider">
    

    我假设您还为提供程序定义了“会员资格”部分,并且连接字符串对吗?

    如果没有,你可能需要

    <membership defaultProvider="SqlProvider" 
          userIsOnlineTimeWindow="15">
          <providers>
            <clear/>
            <add name="SqlProvider" 
              type="System.Web.Security.SqlMembershipProvider" 
              connectionStringName="SqlServices"
              applicationName="SampleApplication"
              enablePasswordRetrieval="true"
              enablePasswordReset="true"
              passwordFormat="Encrypted"
              requiresQuestionAndAnswer="true" />
          </providers>
        </membership>
    
     <connectionStrings>
        <add name="SqlServices" connectionString=
          "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
      </connectionStrings>
    

    其余的配置看起来没问题。

    【讨论】:

    • 我试过你的建议,但还是不行。我有一个有效的连接字符串和会员提供程序。
    【解决方案2】:

    嗯,我找到了!

    “Web 应用程序”和“网站”之间的区别之一似乎是它处理配置文件的方式。网站能够读取 web.config 文件并动态创建配置文件类,而 Web 应用程序则不能。据我了解,如果使用 Web 应用程序项目,应该创建一个自定义配置文件类。

    更多信息可以在这里找到:http://www.codersbarn.com/post/2008/06/aspnet-web-site-versus-web-application-project.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      相关资源
      最近更新 更多