有没有办法禁用ASP.Net自动命名?
例如:当我的页面上有一个控件位于母版页内而不是被命名时
theLabel
将其重命名为
ctl00_ContentPlaceHolder1_clist0_rptSelected_ctl05_theLabel
这是我不想要的行为。
答案 0 :(得分:5)
这是ASP.NET常见的问题。如果ASP.NET 4是您的选项,则可以使用新的ClientID功能来自定义命名约定。
更多信息,礼貌的顾:
答案 1 :(得分:3)
如果你足够幸运能够定位ASP.NET 4.0 ......
在您的页面指令中,设置ClientIDMOde="Static"
。这将完全像您在控件中一样发出ID。
所以如果你有:
<asp:Label ID="example" runat="server" />
它会发出这个干净的ID:
<span id="example">something...</span>
答案 2 :(得分:1)
如果您正在使用ASP.NET 4.0,那么您可以。
否则,这很难。如果你想在javascript中使用客户端ID,你可以做这样的事情::
<script type="text/javascript">
function DoSomething(){
alert('<%= Control.ClientID %>');
}
</script>