在ASP.NET中,当设置Visible=false时,服务器控件将不会呈现到客户端,并且在服务器端也不可见。因此,如果设置Visible=false,OnTextChanged事件将不会触发。
但是,您可以使用其他方法在不可见的情况下仍然触发OnTextChanged事件。您可以使用CSS将文本框的可见性设置为隐藏,而不是使用Visible=false。这样,文本框就可以在客户端呈现,但用户不会看到它。
以下是一个示例代码,演示如何在设置Visible=false后仍然触发OnTextChanged事件。
ASPX页面:
 
CSS:
.hidden {
    display: none;
}
代码后端:
protected void txtExample_TextChanged(object sender, EventArgs e)
{
    // 处理文本框的更改事件
}
在上面的示例中,我们将文本框的可见性设置为隐藏,使用CSS类.hidden来实现。然后,我们还需要将AutoPostBack属性设置为true,以确保在文本框文本更改时进行回发。最后,在代码后端,我们可以处理txtExample_TextChanged方法中的文本框更改事件。
请注意,由于文本框是在客户端呈现的,如果用户查看页面的源代码,他们仍然可以看到文本框的存在。但是,对于大多数用户而言,它是不可见的,并且OnTextChanged事件将在更改文本时触发。