ASP.NET では、開発者が HTML に表示されるコントロールの ID 属性をより詳細に制御できる ClientIdMode プロパティについて多くのことが行われています。
ただし、コントロールが Name 属性をレンダリングする方法にはほとんど注意が払われていないようです。これは、コントロールの ID と名前付けコンテナーの階層を単純に連結したものに見えます。
十分に複雑な Web ページの場合、これらの名前は非常に長くなります。それらは HTML ペイロードを大きく (そして見苦しく) するだけでなく、ポストバックのたびにサーバーに送り返されます。(また、一部のサードパーティ製コントロール スイートのコントロール ステートに入ります。)
ClientNameMode プロパティがないのはなぜですか? 確かにそれは Id 属性と同じくらい重要ですか? Name属性を生成/再水和するメソッドをオーバーライドして、IDと一致するように処理できるようにすることは可能ですか? (ClientIdMode によって短縮されます)
私が取り組んでいるページ上のコントロールの名前の例は
USoWAR1_tabContainer_UDetailsTabContainer_tabContainer_UDetailsTab_UDetails1_UDueDateAndNotifications1_decDetail_DataEntryRow1_datDueDate_DateTimePicker_calendar_AD