2013-10-15 63 views
0

嗨,有一個ASCX文件,其中包含一組控件,主要是TextBox控件。我需要通過一個通過Page.LoadControl()實例化的ASCX文件的實例來訪問這些控件,該實例運行良好。更改設計器文件中的訪問修飾符

目前,我有一個擴展方法,通過ID遞歸地找到控制,然後創建它的類型的實例,但這對我來說接縫如此矯枉過正。

我知道我不能去的原因ctl.TextBox1是因爲當我在VS中創建ascx文件時,在.designer.cs文件中設置爲受保護的訪問修飾符,並且將此更改爲public時感覺錯誤。

我無法在acsx.cs中爲TextBox1創建公共字段,因爲它已經存在,並且我不想刪除.designer.cs文件,導致一切都失敗。

是否有一種更優雅的方式來將訪問修飾符從保護更改爲公開?我還沒有遇到過。

+0

爲什麼不嘗試爲該控件添加set/get方法? –

+0

爲什麼我沒有想到:$。謝謝。 – JadedEric

+1

添加爲答案! –

回答

1

嘗試爲需要訪問的控件添加Get/Set方法,而不是更改Designer文件的修飾符。