我最近更改了网站的结构以使用母版页。第一个问题是所有的 javascript 都不起作用,因为所有的 id 都发生了变化,所以 document.getElementById('id') 可以找到 id,因为现在 id 是 ct100_something_id。我通过使用 ClientIDMode="Static" 解决了这个问题,但现在我发现我在回发时遇到了另一个问题,因为我使用 Request.Form 并且所有名称属性仍然更改为 ct100_....
据我所见,没有 ClientNameMode,那么如何阻止 asp.net 创建“花哨”名称属性。我无法在服务器控件上显式设置名称属性。
只是为了澄清:
有没有办法做到这一点:
<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="" />
?