- PR -

CreateUserWizardのカスタマイズして使用する方法

投稿者投稿内容
newborn
常連さん
会議室デビュー日: 2005/04/28
投稿数: 34
お住まい・勤務地: JAPAN
投稿日時: 2006-10-18 15:39
皆様、
いつもお世話になっております。

会員登録画面を作成するために、CreateUserWizardをカスタマイズして
使用したいのですが、どうしてもつまずいてしまっている部分がありまして
皆様のお知恵を拝借できればと思い投稿させていただきました。

【環境】
vs2005, ASP.NET(c#), .Net FrameWork 2.0 , SQL Server 2005

【実現したい事】

CreateUserWizardコンポーネントは既定では、住所情報などの登録は
行えませんが、会員の情報を登録できるように変更したいです。

ウィザードのステップ:

@会員情報登録画面

A完了画面

【備考】
・CreateUserWizardコンポーネントのLoginCreatedUserをTrueに設定しています。

・ProfileにKaiinInfoというプロパティーをを持たせて、kaiinInfoには住所などの情報があり、会員に関する情報を取得・設定するようにしています。

【問題点】

LoginCreatedUserをTrueに設定しているので、ステップAではログインされている
はずだと認識しているのですが、別画面を開いたときに初めてログインした状態
となります。

ステップAの段階ではログインされていないので、プロファイルが匿名となり、
プロファイルの会員情報の取得設定が行えずに困っております。

何卒宜しくお願いいたします。



[ メッセージ編集済み 編集者: newborn 編集日時 2006-10-18 15:58 ]
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-10-18 16:17
試してないのでうまくいくかどうかわかりませんが、ウィザードのステップを追加して

1)ユーザ名、パスワード等の登録画面
2)住所等の登録画面
3) 完了画面

こんな風にしたらできないでしょうか。
newborn
常連さん
会議室デビュー日: 2005/04/28
投稿数: 34
お住まい・勤務地: JAPAN
投稿日時: 2006-10-18 17:36
どっとねっとふぁん様、
リピーターの件に引き続き、ご回答頂きましてありがとうございます。


>1)ユーザ名、パスワード等の登録画面
>2)住所等の登録画面
>3) 完了画面

結果から申しあげますと、上記の方法でうまくいきました。
残念ながら要件定義の関係上、上記のようなステップで会員登録を行うようにはできません。

実際のステップは、

@情報入力画面
A確認画面(確認画面の登録ボタンで登録)
B完了画面

このステップの組み方ですと、完了画面に来たときには、ログイン状態には
なりません。
CreateUserWizardコンポーネントでは、完了画面の直前に登録画面があった
場合は、ログイン状態にならない仕様もしくはバグなのでしょうか。
何か抜け道は存在するのでしょうか。

何卒宜しくお願いいたします。



どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-10-18 17:54
えっと、どのタイミングでユーザの登録とプロファイルへのデータ登録をしていますか?
私の書いたステップでうまくできた、ということは

1)ユーザ名、パスワード等の登録画面
→ ここから次のステップに進んだ時点でユーザが作成され、ログインされる
2)住所等の登録画面
→ すでにログインしているから、この後プロファイルに登録すればOK

こういう状況になっていると思います。

newbornさんが作成されているプログラムがわかりませんので、どんな順で
ユーザの登録(とログイン)とプロファイルが行われているか、こちらからは
わかりません。
そのあたりをきちんと整理されてはどうかと思います。
newborn
常連さん
会議室デビュー日: 2005/04/28
投稿数: 34
お住まい・勤務地: JAPAN
投稿日時: 2006-10-18 18:44
どっとねっとふぁん様、
お世話になっております。

状況をうまく伝えられず、申し訳ありません。

私が確認した範囲ですと

1)会員情報入力画面(入力を行うだけで実際の登録アクションは次の確認画面で行う)

2)確認画面(この画面の『会員登録』ボタンで登録)
→ここから次のステップに進んだ時点でユーザが作成されるているはず
(しかし、ActiveStepChangedでブレークポイントを設定してプロファイルの状態を確認しますと、Profile.IsAnonymousはtrue<匿名>になっています。)

3)完了画面

この説明でご理解いただけますでしょうか。

宜しくお願いいたします。

どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-10-18 19:05
CreateUserWizardコンポーネントをどのように拡張されたのか、newbornさん
以外の人にはわからないと思います。
ステップを追加した程度ならともかく、登録のタイミングを変えている、という
ことになると、何が起きているか推測さえできません。

> この説明でご理解いただけますでしょうか。

ということで、まったく理解できません。


newborn
常連さん
会議室デビュー日: 2005/04/28
投稿数: 34
お住まい・勤務地: JAPAN
投稿日時: 2006-10-18 19:42
どっとねっとふぁん様、
お世話になっております。


説明が不十分で申し訳ありませんm(__)m

>ステップを追加した程度ならともかく、登録のタイミングを変えている、という
>ことになると、何が起きているか推測さえできません。

拡張なんてめっそうもありません、
実はステップを1つ増やしただけでございますm(__)m

既定では、

@ユーザー情報登録画面
A完了画面

の2ステップですが、

ユーザー情報登録画面の前にステップを追加して動作確認を行った結果
が先ほどの内容でございます。

ユーザー情報登録画面の前にステップを追加しても、
完了画面にステップが移った時に、プロファイルに情報
を設定できない事は分かりました。
ユーザー情報登録画面と完了画面の間にワンステップ追加
する以外に方法はないのでしょうか。

申しわけありませんが、宜しくお願いいたします。

どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-10-18 23:49
CreateUserWizardにはCreatedUserイベントがありますね。
これの利用は考えました?
「完了」ボタンをつかっているならFinishButtonClickイベントとかも使えると思います。
そういったイベントの中で状態の確認ってしてみました?

スキルアップ/キャリアアップ(JOB@IT)