2

プロファイルを作成してアイテムを追加すると、コードビハインドで宣言されていないと常に表示されます!!

プロジェクトのフレームワークを 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
4

1 に答える 1

0

プロパティは実行時に動的に生成されます。つまり、コードビハインドからプロパティにアクセスすることはできません。あなたができることは、スクリプトブロックを使用して.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>

   

于 2012-09-28T23:03:00.507 に答える