私のコード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ラベルが表示されません。このクエリを手伝ってください。