ASP.NET AJAX Control Toolkit: показать ModalPopup, а затем сделать PostBack
Я хочу показать модальное всплывающее окно, когда пользователь нажимает кнопку asp. Пользователь должен выбрать опцию панели. Значение выбранного параметра должно быть сохранено на скрытом входе, а затем кнопка asp.net должна выполнить PostBack.
Могу ли я сделать это?
Спасибо!
3 ответа
Наконец, я решил использовать jQuery, чтобы показать ModalPopUp. Следующий вопрос имеет ответ на этот вопрос:
Диалоговое окно jQuery UI не работает в ASP.NET
Если вы не согласны, скажите мне.
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();
И в коде, который вы используете, чтобы закрыть модал, вызовите функцию Hide из ModalPopupExtender:
Modal1.Hide();
Я использую этот метод для показа модального окна, отображающего подробные данные, которые я извлекаю из базы данных на основе того, что выбрано в GridView.
Добавьте кнопку или кнопку LinkButton
<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;
}