Профиль участника 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>