我在从服务器端调用模式弹出窗口时遇到麻烦。因此,我将modalpopupextender的targetcontrolID设置为隐藏标签。然后,在单击按钮后的代码中,我尝试添加this.modalpopup.show();。不幸的是,发生这种情况时不会出现模式弹出窗口。我可以看到代码已执行,但是什么也没显示。

这是我的ASP。减去按钮和popupextender的开头

<asp:Button CssClass="Button" ID="button" runat="server" Text="Button" AccessKey="m" meta:resourcekey="buttonResource1" OnClick="button_Click" />

<ajaxToolkit:ModalPopupExtender ID="mpe" runat="server" TargetControlID="forpopup"
            PopupControlID="PopupPanel" BackgroundCssClass="modalBackground" />

       <asp:Label ID="forpopup" runat="server" Visible="False"></asp:Label>

        <asp:panel id="PopupPanel" runat="server" BorderStyle="Groove" BorderColor="black" BorderWidth="3px" BackColor="AliceBlue" Height="200px" Width="200px" style="display: none">

            <asp:Label ID="lblPopup" runat="server" Text="popup!"></asp:Label><br />
            <br />
            <asp:DropDownList ID="ddlData" runat="server">
            </asp:DropDownList><br />
            <br />

            <asp:Button ID="btnPopupOK" runat="server" Text="Ok" />
            <asp:Button ID="btnPopupCancel" runat="server" Text="Cancel" />
        </asp:panel>


这是我的代码背后

    protected void button_Click(object sender, EventArgs e)
    {
        this.mpe.Show();
    }

最佳答案

我有一个类似的问题。我正在将扩展程序的targetcontrolid设置为隐藏按钮,并尝试在服务器端代码中触发Show()事件。即使代码被击中,它也没有显示。我发现问题是我使用“ visible = false”隐藏了隐藏的按钮,这没有将控件呈现给页面。我将其更改为“ style ='display:none'”,它开始工作。尝试将目标控件更改为隐藏按钮,并确保它已呈现(只是未显示),并且可能会起作用。

关于c# - AJAX工具包模式弹出窗口不会出现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1167417/

10-11 02:04