Asp.net成员配置文件FirstName和LastName(未声明.可能由于其保护级别而无法访问)



当我创建概要文件并添加项目时,它总是说后面的代码中没有声明!!

我试图将项目的框架从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

属性是在运行时动态生成的,这意味着您不能从代码后面访问它们。您可以使用脚本块(如果适用的话)从.ASPX页面访问它们。就像这样。

<%@ Page Language="C#" %>
<script runat="server">
public void Page_Init()
{
Profile.FirstNamep = "some dood";
}
</script>
<div>Your name is <%= Profile.FirstNamep %></div>

Profile可以用于.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>

最新更新