0

私のコードAspブロック:

----------

            <ContentTemplate>
            <asp:Label runat="server" ID="lblHelloWorld" Text="label" />
            <br />
                <asp:TextBox ID="TextBox2"  AutoPostBack ="true" OnTextChanged="emailavail"  runat="server" ></asp:TextBox>
                <br />
            </ContentTemplate>
            </asp:UpdatePanel>
        </td>
        <td>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
                ControlToValidate="TextBox2" ErrorMessage="Emailid cannot be left blank" Display="Dynamic"></asp:RequiredFieldValidator>
            <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" Display="Dynamic"   
                ControlToValidate="TextBox2" ErrorMessage="Enter correct mailid" 
                ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>

パートの背後にあるコード:


     protected void emailavail(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "Data Source=DB-SERVER-PC\\NET3USER;Initial Catalog=prakash;User Id=sa;Password=strongsa;";
    con.Open();
    SqlCommand com = new SqlCommand("Select Emailid from details1 where Emailid=@email", con);
    com.Parameters.AddWithValue("@email", TextBox2.Text);

    SqlDataReader dr;
    dr = com.ExecuteReader();
    if (dr.Read() == true)
    {
        lblHelloWorld.Text = "Email not available";
    }
    else
    {
        lblHelloWorld.Text = "Email available"; 
    }
}

したがって、ここでの私の問題は、テキストボックスにmailidを入力すると、バリデーターがまだ存在していることです。autopostbackプロパティを削除すると、バリデーターは正常に機能していますが、ajaxラベルが表示されません。このクエリを手伝ってください。

4

1 に答える 1

0

AutoPostBackが無効になっている場合は、サーバーへの非同期ポストバックを発生させるために、更新パネル内で他のコントロールが必要です。

たとえば、テキストボックスの後にボタンを配置します。

于 2012-07-31T15:33:34.597 に答える