2

当用户单击 asp 按钮时,我想显示一个模式弹出窗口。用户必须选择面板的选项。所选选项的值必须保存到隐藏的输入,然后 asp.net 按钮必须执行PostBack

我可以这样做吗?

谢谢!

4

3 回答 3

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 中选择的内容从数据库中检索到的详细数据。

于 2009-05-22T14:22:33.040 回答
2

添加您的按钮或链接按钮

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

添加一个面板以使用 DropDownList 保存您的选项

<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;
} 
于 2009-05-22T06:34:36.253 回答
1

最后,我决定使用 jQuery 来显示 ModalPopUp。下面的问题有这个问题的答案:

jQuery UI 的对话框在 ASP.NET 上不起作用

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

于 2010-02-25T20:18:44.203 回答