在ASP.NET中,当您为标记提供ID时,它会根据控件层次结构为元素生成唯一的HTML ID,即
<asp:Panel ID="test" runat="server">
...
</asp:Panel>
<!-- Becomes... -->
<div id="plc_lt_zoneContent_PagePlaceholder_PagePlaceholder_lt_test_test">
...
</div>
有没有办法确定代码隐藏文件中生成的id?我需要生成一些使用id的Javascript。
答案 0 :(得分:10)
在javascript中执行此操作:
<script type="text/javascript">
var theID = '<%= test.ClientID %>';
// theID contains your ID
</script>
更新:我注意到ClientId
下面的评论不起作用。它是ClientID
(区分大小写)。以下是ClientID的文档参考:
http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid(VS.71).aspx
答案 1 :(得分:1)
您可以使用ClientID
属性,但只能从 PreRender 事件(或更高版本)中获取。
ASP.NET 4将对此进行一些更改,以便您可以获得“可预测”标识符,但即便如此,它也不是灵丹妙药。
答案 2 :(得分:0)
或者在asp.net-element
上使用ClientIDMode =“Static”