C# 检测模态当前是否处于活动状态

C# 检测模态当前是否处于活动状态,c#,javascript,asp.net,modalpopupextender,C#,Javascript,Asp.net,Modalpopupextender,如何检测当前是否正在使用javascript显示ModalPopupXtender ModalPopupXtender标记 <!-- Add Files Modal Form --> <asp:HiddenField ID="AddFilesForModal" runat="server" /> <ajaxToolkit:ModalPopupExtender runat="server" ID="AddFilesModal" BehaviorID

如何检测当前是否正在使用javascript显示ModalPopupXtender

ModalPopupXtender标记

  <!-- Add Files Modal Form -->
    <asp:HiddenField ID="AddFilesForModal" runat="server" />
    <ajaxToolkit:ModalPopupExtender runat="server" ID="AddFilesModal" BehaviorID="modalPopupExtenderAddFiles"
        TargetControlID="dummyButtonAddToPendingList" PopupDragHandleControlID="PanelAddFilesOuter" PopupControlID="PanelAddFilesOuter"
        OkControlID="dummyButtonAddToPendingList" BackgroundCssClass="modalBackground" DropShadow="false"
        Drag="true">
    </ajaxToolkit:ModalPopupExtender>
    <ajaxToolkit:RoundedCornersExtender ID="RoundedCornersExtender4" runat="server" TargetControlID="PanelAddFilesInner">
    </ajaxToolkit:RoundedCornersExtender>
    <asp:Panel ID="PanelAddFilesOuter" runat="server"   BackColor="Transparent" Style="display: none;">
        <asp:Panel ID="PanelAddFilesInner" runat="server" BackColor="White" Style=" width:800px; height:600px;  overflow:auto;">
         <ContentTemplate>
            <div id="AddFilesContainer" style="  padding-left:10px; padding-right:10px; padding-top:10px; padding-bottom:5px;">
                <br />
                Add Files
                <div  id="AddFiles_Div" style="height:80%;overflow:auto;">
                            <asp:TreeView ID="TreeViewAddItems" runat="server" Height="500px"  ShowCheckBoxes="Leaf"
                                Width="380px" ImageSet="XPFileExplorer" NodeIndent="15" PathSeparator="\" ShowExpandCollapse="true"
                                EnableClientScript="true" OnTreeNodeCheckChanged="OnTreeNodeCheckChanged" OnAdaptedTreeNodeCheckChanged="OnTreeNodeCheckChanged" ShowLines="True">
                                <HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" />
                                <NodeStyle Font-Names="Tahoma" Font-Size="10pt" ForeColor="Black" HorizontalPadding="2px"
                                    NodeSpacing="0px" VerticalPadding="2px" />
                                <ParentNodeStyle Font-Bold="False" />
                                <SelectedNodeStyle BackColor="#B5B5B5" Font-Underline="False" HorizontalPadding="0px"
                                    VerticalPadding="0px" />
                            </asp:TreeView>
                            </div>
                <br />
                <div class="base" style="height:20px;">
                <asp:LinkButton ID="lnkAddToPendingList" runat="server" OnClick="BtnAddToPendingList_Click" BorderStyle="Solid" BackColor="#CCCCCC">Add selected items to list</asp:LinkButton>
                <asp:Button CssClass="Button" ID="dummyButtonAddToPendingList" runat="server" Style="display: none;" />
                <asp:Button CssClass="Button" ID="CancelAddFiles" runat="server" Text="Cancel" OnClientClick="$find('modalPopupExtenderAddFiles').hide(); return false;" />
                </div>
                </div>
                </ContentTemplate>
        </asp:Panel>
    </asp:Panel>
    <!-- End Add Files Modal Form -->


添加文件
将所选项目添加到列表中
使用行为ID在客户端验证:

<script type="text/javascript">

function IsVisible()
{
    var modalPopup = $find('ModalBehaviourID');
    return modalPopup ? true : false;
}
</script>

函数IsVisible()
{
var modalPopup=$find('ModalBehaviourID');
返回modalPopup?真:假;
}
第二种选择:

<script type="text/javascript" >

function IsVisible()
{
    return $find('ModalBehaviourID').get_PopupVisible();
}

</script>

函数IsVisible()
{
返回$find('ModalBehaviourID')。get_PopupVisible();
}

资料来源:

我认为没有一个属性可以调用。您可能需要钩住显示和隐藏的事件。大概是这样的:

var amIVisible = false;
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function () {
    $find('modalPopupExtenderAddFiles').add_shown(function () {
        amIVisible = true;
    });

    $find('modalPopupExtenderAddFiles').add_hidden(function () {
        amIVisible = false;
    });
});

嗨,我试过了,但它不起作用-函数总是返回true。我想这取决于AjaxToolKit程序集的版本。试试我在帖子上的另一个选项。它似乎不起作用,但为了公平起见,我没有在上面投入太多时间,因为上面的解决方案很好。谢谢你的帮助。