0

CreateUserWizardStep の登録ページに次のフィールドがあるメンバーシップ プロバイダーを使用しています

1-UserName
2-Password
3-Confirm Password
4-Emial

アカウントを作成すると、アカウントが正常に作成されました.User AspnetMembership provider
しかし、私の質問は、登録ページから電子メールフィールドを削除すると、保存できなくなります。メッセージを表示'please enter valid email'.
登録ページからこの電子メール フィールドを削除するにはどうすればよいですか。カスタム プロバイダーを使用したく ありません。

CreateUserWizard タグにも RequireEmail="false" を設定します

前もって感謝します

4

3 に答える 3

2

メール テキスト ボックスを削除RequiredFieldValidatorし、createuserwizard と RequireEmail="false" を削除する必要があります。

デフォルトのテンプレートから次のセクションを削除する必要があります

<p>
    <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">E-mail:</asp:Label>
    <asp:TextBox ID="Email" runat="server" CssClass="textEntry"></asp:TextBox>
    <asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="Email" 
            CssClass="failureNotification" ErrorMessage="E-mail is required." ToolTip="E-mail is required." 
            ValidationGroup="RegisterUserValidationGroup">*</asp:RequiredFieldValidator>
</p>

編集

Web 構成のプロバイダー セクションでも設定requiresUniqueEmail="false"します。

MSDNからの参照:

MembershipProvider プロパティで指定されたメンバーシップ プロバイダーが新しいユーザーに対して一意の電子メール アドレスを必要とする場合、電子メール アドレスを入力するための UI が表示されるように、RequireEmail プロパティを true に設定する必要があります。それ以外の場合、ユーザーには EmailRequiredErrorMessage が表示されますが、電子メール アドレスを入力する方法がありません。

于 2012-04-30T20:08:13.567 に答える
1

次の方法で実行できます。

1. のために行っている場合はemail、特にフィールドを削除します。createuserwizardnew activation

2.CreatingUser イベントを処理して、すべてのユーザーにカスタム メールを割り当てます。

例えばnoreply@yoursitename.com

3.無効RequiresUniqueEmailにするweb.config

于 2012-04-30T19:48:39.980 に答える
0

createuserwizard をテンプレートに変換し、メール フィールドを削除します。これを行う方法?ここを参照してください: http://msdn.microsoft.com/en-us/library/ms178342(v=vs.80).aspx

于 2012-04-30T19:51:12.877 に答える