我正在尝试在外部.js文件中获取ASP控件。我知道,服务器生成的ID属性是不可预测的,并且ClientID我只能在的同一页面上使用。我找到了几种方法来获取外部文件中的元素ID,但是它们都很奇怪。

请帮忙。

最佳答案

您有两个选择,可以传入生成的ID,也可以控制生成的ID。

选项1-将ID传递给您的javascript函数

foo( '<%# MyPanel.ClientID %>' );


选项2-ClientIDMode
在.NET 4中,可以将ClientIDMode属性设置为“静态”,以使ASP.NET呈现服务器端ID。

http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx

ASP.NET

<asp:Panel id="MyPanel" runat="server" ClientIDMode="Static">...</asp:Panel>


Javascript / jQuery

$("#MyPanel").foo(..);

10-08 14:17