我有一个文本框;
<input runat="server" type="hidden" value="0" id="input1" name="input1_name">
我有一个div;
<div id="div1"> some content </div>
我有一个单独的.js文件,其中我有一个在页面加载时加载的函数。在那个函数中我有:
$("#div1").click(function(e){
definition;
});
我想将上面提到的输入控件的客户端ID传递给上述场景中的click处理程序。我无法在上面提到的javascript文件中使用属性ClientID。休息一切正常。
请告知我如何将参数传递给aspx页面上控件的click处理程序到javascript文件(以某种方式获取ClientID)。
这是在.NET上。
如果我需要在此处发布任何更多详细信息,请告诉我,如果有任何不明确的话。
答案 0 :(得分:3)
根据您使用的ASP.NET版本,您有几个选项。
在ASP.NET 4.0之前,您可以执行以下操作:
<script type="text/javascript">
function DoSomething(){
alert('<%= Control.ClientID %>');
}
</script>
在ASP.NET 4.0中引入了一项新功能:ClientIDMode
:
<asp:TextBox ID="myCustomId" runat="server" Width="65%" ClientIDMode="Static" />
将输出:
<input id="myCustomId" style="width: 65%" name="ctl00$MasterPageBody$ctl00$txtEcho2" />
如果您使用静态ClientIDMode
,则可以在JavaScript中使用ID而不会出现任何问题。
这是一个很好的博客,解释了不同的选项:ASP.NET 4.0 ClientID Overview