嗨,我有一些关于asp.net模式的控件,我通过后面的代码手动显示。现在,我试图在pageLoad()
中的一个控件上附加一个选择器,问题是模态容器最初被设置为visible=false。
我试过检查长度,但仍然抛出异常。
if ($('#<%= myControl.ClientId %>').length > 0)
{
$('#<%= myControl.ClientID %>').click(function() {
// Do work
});
}
编译器错误消息: CS0103:名称'myControl‘在当前上下文
中不存在
发布于 2010-12-27 01:50:44
这里有几件事,第一个/主要的问题是,myControl
不是在当前的范围中定义的,无论您在ASP.Net中的何处,这完全是一个.Net方面的问题。
对于脚本,还有更多的问题,.ClientID
,而不是.ClientId
。而且,没有必要检查它的存在,您可以这样做:
$('#<%=myControl.ClientID%>').click(function(){
// Do work
});
...if控件不在那里,它只是找不到/绑定任何东西。在ASP.Net中还有一种更简单的方法,如果有一个惟一的类可以给它,只需给add那个类,例如CssClass="MyClass"
,然后使用它作为选择器;如下:
$('.MyClass').click(function(){
// Do work
});
这允许您将脚本放在外部文件中,而不是页面中,这对用户来说是另一个好处。
https://stackoverflow.com/questions/4537809
复制