gridview header 内的气球弹出扩展器显示在每个回传中

balloon popup extender inside gridview header displays on every postback

我是气球弹出扩展器的新手。我正在为 Gridview header 提供气球弹出扩展器, 这是我的代码。我不知道我哪里错了。当我单击页面上的按钮时,气球弹出扩展器出现在页面的左上角,并且出现在页面上任何按钮引起的每次回发中。我不知道隐藏它并且 document.getElementById("blnHeaderRowA") 给出空引用。有什么解决方法吗?

   <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();

        }
    }

提前致谢

您好将此添加到 Page_Load 外 !IsPostBack

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);

谢谢