0

您好有一个包含控件集合的 ASCX 文件,主要是 TextBox 控件。我需要通过我通过 Page.LoadControl() 实例化的 ASCX 文件的一个实例来访问这些控件,它运行良好。

目前,我有一个扩展方法,它通过 ID 递归地找到控件,然后创建它的类型的实例,但这对我来说太过分了。

我知道我不能去 ctl.TextBox1 的原因是因为当我在 VS 中创建 ascx 文件时,在 .designer.cs 文件中设置为受保护的访问修饰符,并将其更改为 public 感觉不对。

我无法在 acsx.cs 中为 TextBox1 创建公共字段,因为它已经存在,并且我不想删除 .designer.cs 文件,因为一切都会失败。

有没有更优雅的方式将访问修饰符从受保护更改为公共?我还没有遇到过。

4

1 回答 1

1

尝试为需要访问的控件添加获取/设置方法,而不是更改设计器文件的修饰符。

于 2013-10-15T11:43:35.503 回答