从客户端隐藏Modal弹出扩展器

时间:2010-02-07 04:28:54

标签: asp.net-ajax

我需要使用javascript在客户端隐藏模态弹出窗口。

如果我使用

$find('ModalPopupExtender1').hide();

隐藏它是一个错误说

  

'null'为null或不是对象'

5 个答案:

答案 0 :(得分:6)

有两种方法可以解决这个问题:

  1. 将modalpopup的ID更改为ModalPopupExtender1

  2. 将脚本更改为:

    $find('<%= ModalPopupExtender1.ClientID%>').hide();
    

答案 1 :(得分:2)

有两种方法可以解决这个问题:

  1. 更改/添加一个behaviorID到modalpopup并将其命名为ModalPopupExtender1

  2. 将脚本更改为:

    $find('ModalPopupExtender1').hide();
    

答案 2 :(得分:1)

听起来$ find调用可能找不到行为。您可以将代码更改为:

var behavior = $find('ModalPopupExtender1');
var undefined;
if (behavior !== undefined)
   alert("found");
else
   alert("not found");

答案 3 :(得分:0)

有两种方法可以解决这个问题:

将行为ID更改/添加到modalpopup并将其命名为ModalPopupExtender1

将您的脚本更改为: $找到(&#39; ModalPopupExtender1&#39)。隐藏();

答案 4 :(得分:0)

我对以上任何一种技术都没有运气,也没有在网上找到的其他任何技术。 对我有用的是致电

__doPostBack("xxx", 0);

这将导致正确的页面重新加载,并且弹出窗口不会返回。 请注意,我的后台代码并没有明确地寻找或处理“ xxx”参数,它只是让回发重新加载页面。

我承认,OP可能正在希望关闭弹出窗口而不刷新页面,但就我而言,我 DID 希望刷新,因此这对我有用。

相关问题