2011-06-29 11 views
0

自分のSQL Serverデータベースでユーザー作成コントロールを使用していますが、重複するユーザー名エラーメッセージが表示されるようにユーザーコントロールを作成することを示すイベントがありません。既存のユーザー名または電子メールです。ユーザーが既に存在する場合にユーザーコントロールを作成する方法

お知らせください。

おかげで、あなたはASPNETメンバーシップを使用していた場合

答えて

0

、その後でCreateUserコントロールは仕事自体を行っているでしょう。しかし、あなたの質問から私はあなたがそうではないと思います。この場合、既存のユーザー名を確認するロジックを使用する必要があります。カスタムバリデータを使用してサーバーバリデーションを作成することができます。

例: .aspxの

<asp:TextBox ID="txtUserName" runat="server" MaxLength="150"></asp:TextBox> 
<asp:CustomValidator ID="CustomValidator1" runat="server" OnServerValidate="CustomValidator1_ServerValidate" 
ControlToValidate="txtUserName" Display="Dynamic" 
ErrorMessage="UserName Already Exists" 
ToolTip="Please select a different UserName" ValidationGroup="Register"> 
</asp:CustomValidator> 

コードが背後に持つことができます。

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     SqlCommand objcmd = new SqlCommand("Select * from Login_Table where UserName='" + args.Value + "'",con); 
     SqlDataReader objReader; 
     con.Open(); 
     objReader = objcmd.ExecuteReader(); 

     if (objReader.HasRows) 
     { 
      args.IsValid = false; 
     } 
     else { 
      args.IsValid = true; 
     } 
     con.Close(); 
    } 

protected void btnSubmit_Click(object sender, EventArgs e) 
    { 
     if (!Page.IsValid) 
     { 
      return; 
     } 
// your registration code 
} 

が、この中にカスタムバリデータすなわち「登録」と同じ検証グループの下に送信ボタンを保つことを忘れないでください場合。 Ajaxアップデートパネルの中にコントロールを追加することができます。これが助けて欲しいと思っています:)

+0

ありがとう、本当に役に立ちました:) – Ahmed

関連する問題