您好我在asp.net模式上有一些控件,我通过后面的代码手动显示。现在我试图在pageLoad()
内的一个控件上附加一个选择器,问题是模态容器最初设置为visible = false。
我尝试检查长度,但仍然会抛出异常
if ($('#<%= myControl.ClientId %>').length > 0)
{
$('#<%= myControl.ClientID %>').click(function() {
// Do work
});
}
编译器错误消息:CS0103:当前上下文中不存在名称“myControl”
答案 0 :(得分:2)
这里有一些问题,第一个/主要问题是当前范围内没有定义myControl
,无论你在ASP.Net中,完全一个.Net端问题
对于脚本,还有更多问题.ClientID
,而不是.ClientId
。此外,没有必要检查它的存在,你可以这样做:
$('#<%=myControl.ClientID%>').click(function(){
// Do work
});
...如果控件不在那里,它就不会找到/绑定任何东西。在ASP.Net中还有一种更简单的方法,如果你可以给它一个独特的类,只需添加该类,例如CssClass="MyClass"
,然后使用 作为您的选择器;像这样:
$('.MyClass').click(function(){
// Do work
});
这允许您将脚本放在外部文件中而不是页面中,这对用户来说是另一个好处。