我有一个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.
欢迎任何建议.