У меня есть веб-форма, в которой я пытаюсь установить для свойства элемента управления текстовым полем значение false в событии textchanged. У меня есть несколько текстовых полей, и я вынес их на панель. Теперь я проверяю условие в событии изменения текста текстового поля. Если условие совпадает, то изменений не будет, но если нет, то я установлю для свойства enable текстового поля в элементе управления панели значение false. Это то, что я делаю -
<asp:TextBox ID="TextBox1" runat="server" Width="150px" AutoPostBack="True"
ontextchanged="TextBox1_TextChanged"></asp:TextBox>
<asp:Panel ID="Panel1" runat="server">
<asp:TextBox ID="txt1" runat="server"></asp:TextBox>
<asp:TextBox ID="txt2" runat="server"></asp:TextBox>
<asp:TextBox ID="txt3" runat="server"></asp:TextBox>
</asp:Panel>
мой код cs-
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
SqlConnection cons1 = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString);
cons1.Open();
SqlCommand scmd1 = new SqlCommand("select name from tbl_names where name='"+TextBox1.Text+"'", cons1);
SqlDataReader sdr1 = scmd1.ExecuteReader();
if (sdr1.HasRows)
{
while (sdr1.Read())
{
Panel1.Visible = true;
Control ctrl = new Control();
foreach (Control c in ctrl.Controls)
{
if (c is TextBox && c.ID.StartsWith("txt"))
((TextBox)c).ReadOnly = false;
}
}
}
else
{
Panel1.Visible = true;
Control ctrl1 = new Control();
foreach (Control c in ctrl1.Controls)
{
if (c is TextBox && c.ID.StartsWith("txt"))
((TextBox)c).ReadOnly = true;
}
}
cons1.Close();
}
Пожалуйста, объясните мне, почему это не работает?