0

を使用しています。ビルトインAsp.Net/C#を使用しています。現在の (ログインしている) ユーザーの名前を水平メニューの右側に表示する必要があるという要件があります。ユーザーの実際の名前は、を使用してテーブルにリンクされているテーブルに格納されているため、私の質問は、そのテーブルからメニューにユーザー名を表示する方法です。コントロールを使用する必要があります。どんな提案でも大歓迎です。Asp.Net'sMembership Frameworkaspnet_Usersppp001For Example: John Smithaspnet_UsersForeign Key constraintrepeater

ありがとう

4

1 に答える 1

1

これを行う最も簡単な方法は、名と姓をプロファイル プロバイダーに保存してから、runat="sever" を持つラベルまたは div を使用することです。

web.config で

<profile enabled="true">
    <properties>
        <add name="FirstName" type="string"/>
        <add name="LastName" type="string"/>
    </properties>
</profile>

次に、divまたはラベルを設定します

   FirstName.Text = Profile.FirstName;
   LastName.Text = Profile.LastName;

プロファイル プロバイダーを使用する場合の欠点は、すべてのプロファイル プロパティが大きな文字列に連結されるため、それに対してクエリを実行するのが難しいことです。これを行うためのより良い方法は、あなたが言及したように外部キーを使用して、データベースを呼び出して特定のテーブルから姓と名を取得する独自の BasePage クラスを作成することです。通常、これをページの MyLoggedInUser プロパティに設定します。そうすれば、すべてのページが this.Page.MyLoggedInUser.FirstName などを介してアクセスできます。

于 2012-05-03T12:08:43.153 に答える