1

ユーザーがサービスへの関心を示すフォームに記入するアプリケーションがあります。これには連絡先情報が含まれます。(名前、電子メールなど)。次に、CreateUserWizard コントロールを含むページにリダイレクトされます。これは、ほとんどの情報をフォームに事前入力するという考え方です。ユーザーアカウントを作成するために必要です(手動で入力する必要があるユーザー名/パスワードを除く)。

私がやりたいのは、CreateUserWizard コントロールがこれらのフィールドをまったく表示しないようにすることです (非表示に事前設定されるようにするため)。そのため、ユーザーに表示されるのは、ユーザー名とパスワードを入力する必要があることだけです。これを達成する方法は 2 つあります。

サブルーチンの使用: CreateUserWizard_CreatedUser のようなサブルーチンを使用して情報を追加できます。プログラム的に。CreatedUser がこの情報を追加するのに最適な場所かどうかはわかりません。

非表示フィールドの使用: CreateUserWizard コントロール レイアウトに非表示フィールドを追加して、これらの非表示フィールドで情報を調べるようにコントロールに指示できると思います。名前やメールアドレスは?

これを達成するための最良の方法に関する推奨事項と、実際に実装する方法に関するアイデアを探しています。

4

1 に答える 1

1

ユーザーが連絡先情報フォームに入力して [送信] をクリックすると、その情報をセッション変数に保存できます (ここでは、「phoneNum」と「email」が連絡先情報になりますTextBox)。

Session("name") = phoneNum.Text
Session("email") = email.Text

このようにして、存在するページコードからこれらの値に簡単にアクセスできますCreateUserWizard

メンバーシップ プロバイダーで CreateUser メソッドが呼び出される前に、これらの値を適切なコントロールに配置するために、 Creating Userイベントを処理する必要があるようです。CreateUserWizardこのようなもの:

Protected Sub RegisterUser_CreatingUser(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles RegisterUser.CreatingUser
    RegisterUser.Email = Session("email").ToString()
    RegisterUser.UserName = Session("name").ToString()
End Sub

(「RegisterUser」はCreateUserWizardコントロールの名前です)

ご不明な点がございましたら、お知らせください。

于 2012-05-14T15:19:50.700 に答える