最近、マスター ページを使用するように Web サイトの構造を変更しました。最初の問題は、すべての ID が変更され、id が ct100_something_id になったため、document.getElementById('id') が ID を見つけることができたため、すべての JavaScript が機能しなかったことです。ClientIDMode="Static" を使用して修正しましたが、Request.Form を使用していて、すべての名前属性がまだ ct100_ に変更されているため、ポストバックに別の問題があることがわかりました....
私が見る限り、ClientNameMode はありません。どうすれば asp.net が「派手な」名前属性を作成するのを止めることができますか。サーバー コントロールで name 属性を明示的に設定できません。
明確にするために:
これを行う方法はありますか:
<asp:HiddenField runat="server" ID="hdnUsername" Value="" />
...次のようにレンダリング:
<input type="hidden" name="hdnUsername" id="hdnUsername" value="" />
...そして次のようではありません:
<input type="hidden" name="ctl00$bodyContent$hdnUsername" id="hdnUsername" value="" />
?