我创建了一些Web User Controls (.ascx文件),并将它们放入到页面中。这些用户控件中有一些文本框,我希望页面能够直接访问这些文本框。
那么,最简单(也就是最省时)的方法是什么呢?有两种选择可供考虑:一种是从页面中调用 myUserControl.FindControl(id)(不知道这个会不会在页面中起作用),另一种是编写用户控件中的属性来公开文本框的值。
但这两种方法都不是很理想。FindControl()需要页面知道用户控件中文本框的ID,这样就破坏了封装性,并且添加硬编码字符串。而编写一堆属性来公开用户控件中的文本框值则非常耗时,因为这些用户控件中包含大量的文本框。 是否有办法将这些用户控件中的文本框声明为public,而不是protected呢?
那么,最简单(也就是最省时)的方法是什么呢?有两种选择可供考虑:一种是从页面中调用 myUserControl.FindControl(id)(不知道这个会不会在页面中起作用),另一种是编写用户控件中的属性来公开文本框的值。
但这两种方法都不是很理想。FindControl()需要页面知道用户控件中文本框的ID,这样就破坏了封装性,并且添加硬编码字符串。而编写一堆属性来公开用户控件中的文本框值则非常耗时,因为这些用户控件中包含大量的文本框。 是否有办法将这些用户控件中的文本框声明为public,而不是protected呢?