如何从代码后面确定ASP.NET生成的ID?

时间:2010-03-14 23:19:19

标签: asp.net javascript html

在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。

3 个答案:

答案 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”