サーバー コントロールの OnLoad では、次のことを行いたいと思います。
string username = Page.Request["UsernameTextBox"];
次に、実際のコントロールが CreateChildControls で作成されます (したがって、ポストバックでのみこれを行う必要があります)。
問題は、この場合のコントロールは名前で参照する必要があるため、この方法で ID を使用できないことです。ハードコードすると、次のようにして問題を解決できます。
string username = Page.Request["ctl02$ctl00$ctl02$ctl00$ctl02$ctl03$ctl03$ctl02$ctl01"];
もちろん、これは制御階層が変更される可能性があることを考えると、悪い解決策です。だから私の質問はこれです: OnLoad でこのコントロール名を取得する方法はありますか? NamingContainer などから名前を計算するメソッドを見つけることができれば、問題ありません。
(このログインコントロール/ページでこの奇妙なデザインについて議論するのはやめましょう-それは私の質問の定数と考えてください)。