Короче говоря, вы должны быть в состоянии сделать это.
Я не знаю, какой синтаксис вам нужен для VB, но я делал подобные вещи несколько раз в C #. Для C # вы должны добавить имя четного обработчика в разметку вашего текстового поля и установить для автоматической обратной передачи в текстовом поле значение true. Затем код, стоящий за обработчиком событий, делает все, что вам нужно.
Как правило, я также определяю настраиваемое событие в веб-элементе управления, и обработчик событий для текстового поля также вызывает это обычное событие. Это дает возможность позволить странице, которая использует элемент управления, также воздействовать на событие.
EDIT:
Вот пример с DropDownList, он был частью элемента управления для поиска пользователей в наборе доменов Active Directory. Если пользователь изменил домен, который он выбрал, мы хотели бы найти ранее введенные значения в новом домене.
Наценка:
<asp:DropDownList ID="ddl_Domain" runat="server" onselectedindexchanged="ddl_Domain_SelectedIndexChanged" AutoPostBack="True"></asp:DropDownList>
Код:
protected void ddl_Domain_SelectedIndexChanged(object sender, EventArgs e)
{
if (UserID != "" || LastName != "" || FirstName != "" || EmailAddress != "")
{
lnk_Find_Click(sender, e);
}
}
Или, если я динамически добавил дочерний элемент управления через код, я использовал следующий синтаксис:
DropDownList ddl = new DropDownList();
ddl.ID = "ddl";
ddl.DataTextField = "Text";
ddl.DataValueField = "Value";
ddl.SelectedIndexChanged += This_SelectedValue_Changed;
ddl.AutoPostBack = true;
Как я уже сказал, я не уверен, как заставить это работать с синтаксисом Handles
VB, но это должно быть возможно.