【发布时间】:2013-10-15 11:34:29
【问题描述】:
您好,有一个 ASCX 文件,其中包含一组控件,主要是 TextBox 控件。我需要通过我通过 Page.LoadControl() 实例化的 ASCX 文件的一个实例来访问这些控件,这很好用。
目前,我有一个扩展方法,它通过 ID 递归查找控件,然后创建它的类型的实例,但这对我来说太过分了。
我知道我不能去 ctl.TextBox1 的原因是因为当我在 VS 中创建 ascx 文件时,访问修饰符在 .designer.cs 文件中设置为 protected,将其更改为 public 感觉不对。
我无法在 acsx.cs 中为 TextBox1 创建公共字段,因为它已经存在,并且我不想删除 .designer.cs 文件,否则一切都会失败。
有没有更优雅的方式将访问修饰符从受保护更改为公共?我还没有遇到过。
【问题讨论】:
-
为什么不尝试为该控件添加 set/get 方法?
-
我为什么没想到:$。谢谢。