2010-02-09 14 views
1

Мне нужно добавить 1 событие для текстового поля в мою веб-страницу (созданного в ASP.NET с C#), и я был объявлен в функции Page_Load и в осины синтаксис:текст изменен событие не уволили

protected void Page_Load(object sender, EventArgs e) 
    { 
     textbox1.TextChanged += new EventHandler(textbox1_TextChanged); 
    } 

public void textbox1_TextChanged(object sender, EventArgs e) 
{ 
    if (textbox1.Text == "ABCD") 
    { 
     Image1.Visible = true; 
     textbox1.Enabled = false; 
    } 
} 

и в осина страницы я использовал это заявление:

<asp:TextBox Width="200" ID="textbox1" runat="server"></asp:TextBox> 

Я сделал отладки и обнаружил, что не выполняет textbox1_TextChanged функция

Почему?

+0

вы должны установить право собственности на 'TextChanged-событие не fired' –

ответ

8

необходимо установить AutoPostBack в true.
см msdn для этого:

Чтобы событие TextChanged причины немедленного объявления, установите AutoPostBack свойство элемента управления TextBox к истинным.

+2

Но помните:«Управление веб-сервера TextBox не вызывать событие каждый раз, когда пользователь вводит нажатие клавиши, только тогда, когда пользователь покидает элемент управления.» – Codesleuth

+0

, который вызван определением события «changed» xhtml-тега :) –

+0

Как же запускать событие на каждое нажатие клавиши? –

0

Ну, лучше поздно, чем никогда: вы объявляли метод, строго говоря, обработчик для события. Но вы не связать событие с обработчиком, например:

<asp:TextBox Width="200" ID="textbox1" OnTextChanged="textbox1_TextChanged" runat="server"></asp:TextBox> 

Что вы пропустили: OnTextChanged="textbox1_TextChanged"

Другими словами, ваш метод никогда не будет называться, потому что вы никогда не говорил контроля, что метод был обработчик события.

0

Я думаю, что его также стоит отметить, что событие TextChanged делает не огня, если текст значение фактически не меняется, то есть установить текст , но установить его на то же значение, что было ранее.

+1

@Rob: Благодарю вас за рекомендации. Я рассмотрю предложенную ссылку и буду уделять больше внимания при рассмотрении сообщений. еще раз спасибо за предложения. –

Смежные вопросы