总之是的,你应该可以做到这一点。
我不知道你需要什么语法的VB,但我在C#中多次做类似的事情。对于C#,您可以将偶处理程序的名称添加到文本框的标记中,并将文本框上的自动回发设置为true。然后,事件处理程序后面的代码将完成您所需要的任何工作。
作为一个规则,我还定义了一个自定义事件的Web控件,并有文本框的事件处理程序也引发这个custome事件。这给出了让使用控件的页面也对事件起作用的选项。
编辑:
这里是一个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;
正如我所说,我不知道如何使这个工作与VB的Handles
语法,但它笑有可能。
虽然我使用的是asp:TextBox,所以我没有处理标记;我有一个控制,我正在渲染到RenderControl的页面。像“txt1.OnTextChanged ...”似乎无法访问。你能否提供一个例子,以便我能看到你的意思更好?我可以阅读C#,所以应该没问题。 – Dave 2012-01-11 16:18:11
你可以在代码上做txtControl.AutoPostBack = true – H27studio 2012-01-12 10:00:56
@Dave对不起,响应速度慢,离线一段时间。已添加示例。 – Rozwel 2012-01-17 18:56:52