c# – ModalPopupExtender作为状态框

我有一个ModalPopupExtender,当我有一个长时间运行的后台任务时,我很想将其用作状态弹出窗口.

<script language="javascript" type="text/javascript">
    function ShowInfoPopup(Caption,Message) {
        $find("<%= tcPopUpCaption.ClientID %>").innerHTML = Caption;
        $find("<%= tcPopUpMessage.ClientID %>").innerHTML = Message;
        $find("<%= mpe.ClientID %>").Show();
    }
</script>

<asp:LinkButton runat="server" ID="btnPopup" />
<asp:Panel ID="pnlInfoPopup" runat="server" Style="display: none;"
           Width="350px" CssClass="InfoPopup_Panel">
    <asp:Table ID="Table1" runat="server" CssClass="InfoPopup_Layout"
               Style="margin-bottom: 0px">
        <asp:TableRow CssClass="InfoPopup_ActionRow">
            <asp:TableCell BorderStyle="None">
                <asp:Button ID="btnClose" runat="server" Text="x"
                            ToolTip="Close" BorderStyle="Outset"
                            UseSubmitBehavior="false" OnCommand="doCommand"
                            CommandName="ClosePopUp" />
            </asp:TableCell>
        </asp:TableRow>
        <asp:TableHeaderRow Style="border-bottom: thick solid white">
        <asp:TableHeaderCell ID="tcPopUpCaption" Width="100%"
                                  BorderStyle="None" runat="server"
                                  Text="Popup Caption" />
        </asp:TableHeaderRow>
        <asp:TableRow>
        <asp:TableCell Width="50%" BorderStyle="None" runat="server"
                            ID="tcPopUpMessage" ClientIDMode="Static"
                            Text="Popup Message" />
        </asp:TableRow>
    </asp:Table>
</asp:Panel>
<asp:ModalPopupExtender ID="mpe" runat="server" PopupControlID="pnlInfoPopup"
                        BackgroundCssClass="mpeBackground" DropShadow="true"
                        TargetControlID="btnPopup" />

<asp:Button ID="btnS" runat="server" Text="Send" OnCommand="doCommand"
            CommandName="send" UseSubmitBehavior="false" Width="100px"
            Height="45px" ClientIDMode="Static"
            OnClientClick="ShowInfoPopup('Please wait...','Sending...')" />

<asp:Button ID="btnL" runat="server" Text="Load" OnCommand="doCommand"
            CommandName="load" UseSubmitBehavior="false" Width="100px"
            Height="45px" ClientIDMode="Static"
            OnClientClick="ShowInfoPopup('Just a sec...','Loading...')" />

用户点击其中一个按钮时(这只是一个示例场景),它会显示带有相关标题和消息的弹出窗口,然后执行正常的回发以执行(长)任务.

但是,在“ShowInfoPopup”脚本中,字幕和消息的$find失败,因为它找不到控件,它返回NULL.

欢迎任何建议.

解决方法

使用$get而不是$find来获取DOM元素的引用. $find应该仅用于获取客户端javascript对象的引用.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...