Профиль участника Asp.net FirstName и LastName (Не объявлено. Может быть недоступен из-за уровня защиты)

Когда я создаю профиль и когда я добавляю элементы, он всегда говорит, что не объявлен в коде позади!!

Я пытался изменить Framework проекта с Framework 4.0 на Framework 3.5, и он все еще не работал.

Это говорит FirstNamep, LastNamep не объявлены.

И в Web.config:

   <profile defaultProvider="CustomProfileProvider" enabled="true">

   <providers>

  </providers>

  <!-- Define the properties for Profile... -->
  <properties>
      <add name="FirstNamep" type="String" />
      <add name="LastNamep" type="String" />

  </properties>
</profile>

За Кодексом:

    Profile.FirstNamep = FirstNameTextBox.Text 
    Profile.LastNamep = LastNameTextBox.Text

1 ответ

Свойства динамически генерируются во время выполнения, что означает, что вы не можете получить к ним доступ из кода. Что вы можете сделать, так это получить доступ к ним со своих страниц.ASPX с помощью блока скриптов (если это работает для вас). Как это.

<%@ Page Language="C#" %>

<script runat="server">
    public void Page_Init()
    {
        Profile.FirstNamep = "some dood";
    }
</script>

<div>Your name is <%= Profile.FirstNamep %></div>

Кажется, что-то вроде "по замыслу", что Профиль доступен для страниц.aspx, но не для кода.


Если вы определили поставщика по умолчанию как CustomProfileProvider, то это должен быть класс, который наследуетSystem.Web.Profile.ProfileProvider, В противном случае вам следует использовать поставщик профиля SQL по умолчанию.

<connectionStrings>
   <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>

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

Другие вопросы по тегам