0

ModalPopUpExtender 引用了“hiddenTargetControlForModalPopup”——这是 UI 上的一个隐藏按钮,除了下面显示的代码外,它似乎没有在任何地方使用。

模态弹窗的目标是PANEL pnlNew,那为什么TagetControlID分配给ID="hiddenTargetControlForModalPopup"呢?只是想了解这种接线...谢谢!

CancelControlID="btHiddenOK" 不在模态弹出控件上的任何地方使用(在模态弹出控件上有一个单独的取消按钮(请参阅评论下方的更新面板中的保存和取消按钮..LOT OF CODE。 ....所以我试图删除属性 CancelControlID="btHiddenOK" - 这导致模式弹出被禁用?我想知道如果 btHiddenOK 甚至没有在模式弹出上使用 - 删除它不应该有任何效果,但似乎并非如此?

 <asp:Button runat="server" ID="hiddenTargetControlForModalPopup" style="display:none"/>

     <asp:Panel ID="pnlNew" 
                   runat="server"               
                   DefaultButton="hiddenTargetControlForModalPopup"
                   style="width: 575px;">                  
               <!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->    
               <div class="shadowAreaBig" >  
                      <asp:UpdatePanel runat="server" ID="ModalPopupControls" UpdateMode="Conditional"> 
                            <ContentTemplate>                                   
                             <div class="shadowContainer  shadowContainerNew" >



                                <!--    LOT OF CODE       --> 




   <div class="buttonsNew">
                            <span class="buttonSave">
                                <asp:ImageButton AlternateText="Create new user" ID="ImageButton1" runat="server" ImageUrl="~/css/images/buttonSave2.png" OnClick="btOK_Click" OnClientClick="javascript:return validateControls();" TabIndex="110" style='display: none;' /> 
                                <img style="border-width:0px;cursor: default;" alt="Create new user" src="../css/images/buttonSave2_disabled.png" tabindex="110" id="ImageButton1_Disabled" >
                            </span>
                            <span class="buttonCancel"/>
                                <asp:ImageButton AlternateText="Cancel" ID="ImageButton2" runat="server" CausesValidation="False" ImageUrl="~/css/images/buttonCancel.png" OnClientClick="cancel();return false;" TabIndex="111"/>     
                            </span>
                           </div>    


                              </div>
                            </ContentTemplate>
                        </asp:UpdatePanel>                   
               </div> 
                             <!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->      
            <p class="clearFloat"></p>       
        </asp:Panel>
        </div>   

        <cc1:ModalPopupExtender          
            ID="CreateMPExtender" 
            runat="server"         
            TargetControlID="hiddenTargetControlForModalPopup"
            PopupControlID="pnlNew"
            BackgroundCssClass="modalBackground"
            DropShadow="false" 
            BehaviorID="ModalPopupBehavior"       
            OkControlID="btHiddenOK"
            OnOkScript="ok()"
            OnCancelScript="hideModalPopup()"      
            RepositionMode="RepositionOnWindowResizeAndScroll"
            PopupDragHandleControlID="pnlNewSRO"
            CancelControlID="btHiddenOK"       
            />  

          <asp:Button ID="btHiddenOK" runat="server" Style="visibility:none" />
4

1 回答 1

1

据我了解和使用,模态对话框:

PopupControlID 告诉模态对话框在用户单击分配给它的按钮时显示哪个面板(或对话框)。因此,需要

TargetControlID 告诉模态对话框哪个按钮分配其“打开”事件。换句话说,当单击此按钮时,显示对话框。尽管这是必需的,但不需要使其可见。您可以隐藏此按钮并在 javascript 或后面的服务器代码中打开对话框

BackgroundCssClass 只是一个 CSS 类,它定义了背景的外观。这是可选的

BehaviorID 不是必需的(我发现通常会导致奇怪的行为)。这描述了对话框打开时要触发的 javascript。

OkControlId 是可选的。它是模态对话框将用于其 OK 按钮事件的按钮

这两个脚本都是可选的,只是用来告诉 contorl 调用什么 javascript 函数。

PopupDragHandleControlID 是可选的。您可以告诉“拖动”事件使用哪个面板。

正如我上面提到的,CancelControlID 和 OkControlID 是可选的。如果您看到这会禁用模态扩展器或导致其他问题,请尝试同时删除 BehaviorID。如果这没有帮助,请告诉我。

于 2013-03-26T13:53:50.283 回答