0

我有一个包含用户控件(.ascx)的 ModalPopupExtender。
我想通过使用用户控件(.ascx)中的按钮单击来关闭弹出窗口。
我想在客户端做(Jquery,Javascript)

模态弹出扩展器:

<asp:HiddenField ID="hidPopup" runat="server" />
    <ajaxToolkit:ModalPopupExtender ID="Surface1ModulePopup" PopupControlID="divPopup"
     runat="server" TargetControlID="hidPopup" CancelControlID="btnimageclose" >
    </ajaxtoolkit:ModalPopupExtender>
    <div id="divPopup" class="over_line" style="visibility:hidden;">
        <div class="TxConsultPopUp_Window" style="background-color: #f2fbff; height: 235px;
            width: 156px; border: 1 px solid #4490d2; margin-left: -140px; margin-top: 0px;">
            <div class="forg_head">
                <div class="head_txt" style="width: 119px; text-align: left;">
                    Surface Selections</div>
                <div class="close_but" style=" width:26px;">
                    <asp:ImageButton ID="btnimageclose" runat="server"  ImageUrl="images/close.png" OnClientClick="javascript:CloseWin();return false;" />
                </div>
            </div>
            <asp:Panel ID="panel1" runat="server">
              <UC1:Surface id="Surf1Surface" runat="server">
           </UC1:Surface>
           </asp:Panel>
         </div>
     </div>

要打开它,我使用了这个:

var modalPopupBehaviorCtrl = $find('<%=Surface1ModulePopup.ClientID %>');
modalPopupBehaviorCtrl.show();
var ScheduledTreatments = document.getElementById("divPopup");
ScheduledTreatments.style.visibility = "visible";

请帮助我等待 1 天的答复。StackFLOW 专家请答复

4

1 回答 1

1

我第一次在这里回答,所以祈祷它对你有用。

CancelControlID 中使用的 ID 实际上是控件整个路径 (XPath) 的子集,因此如果您扩展 ID 以包括用户控件名称,并强制它具有静态名称,那么您可以引用它.

我们使用的 ASP 命名约定用美元符号 ($) 将其分隔,因此您可以更改CancelControlID="btnimageclose"CancelControlID=Surf1Surface$nameofyourbutton. (我相信您可以更改使用的内容,因此您需要检查您使用的渲染内容。)

您还需要ClientIDMode=Static在用户控件中的按钮上设置属性

这对我有用,使用以下代码:

ModalPopupExtender 的定义:

<ajaxToolkit:ModalPopupExtender ID="showReferences" runat="server" 
CancelControlID="ucShowACarersFeedback$CloseWindow" TargetControlID="reviewsButton" 
PopupControlID="referencesPanel" BackgroundCssClass="ModalPopupBG">

它弹出的面板

<asp:Panel CssClass="popupConfirmation" ID="referencesPanel" Style="display: none;"
    runat="server">
   <uc:ShowACarersFeedback runat="server" ID="ucShowACarersFeedback" />
</asp:Panel>

控件中的按钮 usShowACarersFeedback

<asp:Button ID="CloseWindow" runat="server" Text="Close Feedback window" ClientIDMode=Static />
于 2013-08-02T08:45:59.640 回答