简而言之,是的,您应该能够做到这一点。
我不知道 VB 需要什么语法,但我在 C# 中多次做过类似的事情。对于 C#,您可以将偶数处理程序的名称添加到文本框的标记中,并将文本框上的自动回发设置为 true。然后,事件处理程序背后的代码会执行您需要的任何工作。
作为一项规则,我还在 Web 控件上定义了一个自定义事件,并让文本框的事件处理程序也引发此自定义事件。这提供了让使用控件的页面也对事件起作用的选项。
编辑:
下面是一个 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 的语法来完成这项工作,但它应该是可能的。