控件设置为可见false,jQuery选择器失败

时间:2010-12-27 09:45:55

标签: asp.net jquery asp.net-2.0

您好我在asp.net模式上有一些控件,我通过后面的代码手动显示。现在我试图在pageLoad()内的一个控件上附加一个选择器,问题是模态容器最初设置为visible = false。

我尝试检查长度,但仍然会抛出异常

if ($('#<%= myControl.ClientId %>').length > 0)
{
    $('#<%= myControl.ClientID %>').click(function() {
        // Do work
    });
} 
  

编译器错误消息:CS0103:当前上下文中不存在名称“myControl”

1 个答案:

答案 0 :(得分:2)

这里有一些问题,第一个/主要问题是当前范围内没有定义myControl,无论你在ASP.Net中,完全一个.Net端问题

对于脚本,还有更多问题.ClientID,而不是.ClientId。此外,没有必要检查它的存在,你可以这样做:

$('#<%=myControl.ClientID%>').click(function(){
  // Do work
});

...如果控件不在那里,它就不会找到/绑定任何东西。在ASP.Net中还有一种更简单的方法,如果你可以给它一个独特的类,只需添加该类,例如CssClass="MyClass",然后使用 作为您的选择器;像这样:

$('.MyClass').click(function(){
  // Do work
});

这允许您将脚本放在外部文件中而不是页面中,这对用户来说是另一个好处。