0

我有一个文本框;

<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 传递给上述场景中的点击处理程序。我无法在上述 javascript 文件上使用属性 ClientID。休息一切正常。

请告知我如何将参数传递给aspx页面上控件的单击处理程序到javascript文件(以某种方式获取ClientID)。

这是在 .NET 上。

请让我知道,以防我需要在此处发布更多详细信息,如果任何看起来模棱两可。

4

1 回答 1

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

于 2012-09-28T07:01:38.680 回答