2

ユーザーの新しいプロファイルを作成せずに、既存のユーザーのプロファイルを変更したいと考えています。例: ユーザー名を持っていて、Usr1彼の年齢だけを変更したいのですが、どうすればよいですか?

4

4 に答える 4

3

このページにいるときは、プロファイルにアクセスするために ProfileCommon クラスを使用できます。profilecommon クラスは、web プロジェクトのコンパイル中に web.config プロファイル設定から asp.net によって自動的に生成されます。

app_code フォルダーのプロファイルを使用する場合は、profilebase クラスを使用する必要があります。ページで使用できる Profilecommon も、このクラスから派生します。

Profilebase はこのようにアクセスできます

HttpContext.Profile or HttpContext.Current.Profile

プロファイル値を読み取るには、次のことを行う必要があります

HttpContext.Profile.GetPropertyValue("propertyName");

プロファイルに値を書き込むには、書き込む必要があります

HttpContext.Profile.SetPropertyValue("propertyName", "propertyValue");
于 2009-11-04T22:35:53.153 に答える
2

あなたがしようとしているのが別のユーザー プロファイルを更新することである場合 (たとえば、顧客のユーザー名を入力する管理者である場合)、次のようなものを使用できます。

Dim p As ProfileCommon = Profile.GetProfile("Usr1")

p.TestValue1 = "New Value"
p.TestValue2 = "Another New Value"

p.Save()

繰り返しますが、Web サイトではなく Web プロジェクトを使用している場合は、厳密に型指定されたプロパティ名の代わりに p.SetPropertyValue() を使用する必要があります。

于 2010-10-11T00:13:32.573 に答える
2

詳細については、この記事を参照してください。場合によっては (別の回答への私のコメントを参照)、ProfileCommon が生成されないことに注意してください。

この場合、ProfileBase の使用に戻す必要があります。

ProfileBase profile = context.Profile;
DateTime dob= profile.GetPropertyValue("dob") as DateTime;
...
profile.SetPropertyValue("dob",dob);
于 2009-09-19T12:10:05.150 に答える