我是气球弹出扩展器的新手。我正在为 Gridview 标头提供一个气球弹出窗口扩展器, 这是我的代码。我不知道我哪里出错了。当我单击页面上的按钮时,气球弹出扩展器出现在页面的左上角,并且它出现在由页面上的任何按钮引起的每次回发中。我不知道隐藏它,document.getElementById("blnHeaderRowA"(给出了空引用。有什么解决方法吗? <asp:BoundField>
<asp:TemplateField>
<HeaderTemplate >
<asp:Label ID="lblHeaderRowA" runat="server" Text="A" onmouseout="omo(this.BalloonPopupControlBehavior);"></asp:Label>
<asp:BalloonPopupExtender Enabled="false" ID="blnHeaderRowA" runat="server" TargetControlID="lblHeaderRowA" UseShadow="true" DisplayOnMouseOver="true" Position="BottomRight" BalloonPopupControlID="pnlHeaderRowPopupA" DisplayOnClick="false" DisplayOnFocus="false"></asp:BalloonPopupExtender>
<asp:Panel ID="pnlHeaderRowPopupA" runat="server" ><asp:Label ID="lblHeaderRowPopupA" runat="server" ForeColor="Black" ></asp:Label></asp:Panel>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblA" runat="server" Text='<%# Bind("A") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
这是我隐藏气球弹出窗口扩展器的 JavaScript
function omo(obj) {
if (obj != null) {
obj.hidePopup();
}
}
我的主要座右铭是,如何避免BalloonPopupExtender出现在与我的代码相关的页面的每个回发中。 提前致谢
嗨,把它添加到外面Page_Load!回发
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "hidePopup","document.getElementById('"+((Label)GvR045F.HeaderRow.FindControl("lblHeaderRowPopupA")).ClientID+"').BalloonPopupControlBehavior.showPopup();document.getElementById('"+((Label)GvR045F.HeaderRow.FindControl("lblHeaderRowPopupA")).ClientID+"').BalloonPopupControlBehavior.hidePopup();",true);
谢谢