无法获得服务器控件ID

时间:2013-03-06 05:26:39

标签: javascript jquery asp.net html jquery-ui

我使用.ascx

我正在尝试使用我的jQuery执行某些操作,下面的代码就是我如何调用服务器控件ID。

$("input").mouseenter(function() {
//some function
}

<input type="text" id="family1" value="family"1/> 
<input type="text" id="family2" value="family"2 runat="server"/> 

我现在的问题是我的家庭能够调用jQuery函数,但我的家人没有 是因为我使用.ascx所以我无法将服务器控件ID传递给我的jQuery吗? 这有什么想法可以解决吗?

4 个答案:

答案 0 :(得分:0)

 $(document).ready(function () {
        $('.ctl00_m_g_3b0d8e69_1961_4bea_886d_413493ff7f9c_ctl00_checkclass').hover(function (event) {
            alert('dada');
            var c = alert($(this).attr("id"));
            alert(c);
        });
    });


<input type="text" id="family1" value="family1" class="checkclass"/> 
<input type="text" id="family2" value="family2" class="checkclass" /> 
<input type="text" id="family3" value="family3" class="checkclass" />

答案 1 :(得分:0)

您可以使用ClientID

来实现这一目标

请检查here

答案 2 :(得分:0)

使用此ClientIDMode="Static"

 <input type="text" id="family2" ClientIDMode="Static" value="family" runat="server"/> 

编辑1

ClientIdMode =“静态”:这是最基本的简单模式,它使客户端ID成为静态。
您为ClientID或ID添加的值是用于客户端ID的值。
这里有一个奇怪的条件,如果在重复控件中使用静态ClientIDMode,开发人员负责确保客户端ID独特之处。
http://www.codeproject.com/Articles/34151/ASP-NET-4-0-Client-ID-Feature

答案 3 :(得分:0)

使用:

$("#<% family2.ClientID %>").mouseenter(function() {
    //some function
 }

因为您可以重复使用您的控件,所以asp.net会为您的ID添加一些前缀。生成的ID因页面而异。您可以检查页面上的结果ID,并将ID硬编码到jQuery Selector中,但使用clientID是可行的方法。 您可以在控件的所有页面上使用它而无需担心。