我想编写一个方法来处理 webform 上多个服务器控件的文本更改事件。当文本更改事件触发时,我需要将控件 ID 传递给我的方法。换句话说,当我的方法被调用时,我必须弄清楚是哪个控件导致文本更改事件触发。这可能吗?通常我会使用命令参数属性,但我认为这不适用于文本框和列表框控件。有什么建议么?
问问题
1806 次
2 回答
3
在 TextChanged 函数中使用Sender
(第一个)参数:
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
TextBox tb = sender as TextBox;
if (tb != null)
{
string id = tb.ID;
}
}
于 2013-03-05T15:54:32.987 回答
0
您的事件处理程序有两个参数:object sender, eventargs e
sender 参数就是您要查找的参数。它实际上是对调用事件处理程序的对象的引用,您只需将其转换为正确的类型。
TextBox fooBar = sender as TextBox;
那么如果你愿意,你可以得到这个名字:
if(fooBar.Name == "someName") { ... }
于 2013-03-05T15:54:28.907 回答