我想以编程方式调用popupcontrolextender的弹出窗口。这可能吗?
答案 0 :(得分:4)
您可以通过指定BehaviorID
并使用$find()
函数来获取弹出窗口的客户端对象的句柄。这是一个弹出窗口的小工作(IE7)代码片段,显示光标悬停在文本框上时,当光标离开文本框时消失。
<asp:TextBox ID="textbox" runat="server"
onmouseover="$find('mybehavior').showPopup();"
onmouseout="$find('mybehavior').hidePopup();" />
<asp:Panel ID="panel" runat="server">
Hello, World!
</asp:Panel>
<ajax:PopupControlExtender ID="popup" runat="server"
TargetControlID="textbox"
BehaviorID="mybehavior"
PopupControlID="panel"
Position="Bottom" />
<强>更新强>
从服务器端脚本显示弹出窗口需要在JavaScript生命周期的适当位置注册一些JavaScript。客户端脚本块似乎太早,因为行为可能尚未初始化。下面的代码片段注册了一个启动脚本,该脚本依次注册一个函数来打开客户端加载事件的弹出窗口。
var script = @"Sys.Application.add_load(function() { $find('mybehavior').showPopup(); });";
ScriptManager.RegisterStartupScript(this, GetType(), "ShowPopup", script, true);