ASP.NET AJAX控件工具包:显示一个ModalPopup,然后执行PostBack

时间:2009-05-22 05:51:14

标签: c# asp.net-ajax ajaxcontroltoolkit modal-popup

我想在用户点击asp按钮时显示模态弹出窗口。用户必须选择面板的选项。所选选项的值必须保存到隐藏的输入中,然后asp.net按钮必须 PostBack

我能这样做吗?

谢谢!

3 个答案:

答案 0 :(得分:9)

可以使用回发显示ModalPopupExtender。你需要一个不可见的目标控件。扩展器附加到这个隐藏的控件上。

<asp:Button runat="server" ID="btnShowModal" Text="Show" 
     OnClick="btnShowModal_Click" /> 
<asp:Button runat="server" ID="HiddenForModal" style="display: none" />
<ajaxToolKit:ModalPopupExtender ID="Modal1" runat="server" 
     TargetControlID="HiddenForModal" PopupControlID="PopupPanel" />

在代码隐藏中的消息处理程序中,您将显示ModalPopupExtender:

Modal1.Show();

在你用来解散Modal的代码中,调用ModalPopupExtender的Hide函数:

Modal1.Hide();

我使用此方法显示一个模式,该模式显示我根据在GridView中选择的内容从数据库中检索的详细数据。

答案 1 :(得分:2)

添加按钮或LinkBut​​ton

<asp:Button ID="MyButton" Text="Click Here" runat="server" />

使用DropDownList

添加一个Panel来保存您的选项
<asp:Panel ID="MyPanel" runat="server">
  <asp:DropDownList ID="MyDropDown" runat="server">
    <asp:ListItem Value="1" Text="Option 1" />
  </asp:DropDownList>
  <asp:Button ID="SaveBtn" Text="Save" OnClick="Save_Click" runat="server" />
  <asp:Button ID="CancelBtn" Text="Cancel" runat="server" />
</asp:Panel>

添加ModelPopupExtender

<act:ModalPopupExtender ID="Mpe1" TargetControlID="MyButton"  
    CancelControlID="CancelBtn" PopupControlID="MyPanel" runat="server" />

然后将代码添加到SaveBtn按钮

public void SaveBtn_Click(object sender, EventArgs e) {
  string selectedOption = MyDropDown.SelectedValue;
} 

答案 2 :(得分:1)

最后,我决定使用jQuery来显示ModalPopUp。以下问题解答了这个问题:

jQuery UI's Dialog doesn't work on ASP.NET

如果你不同意,请告诉我。