У меня есть кнопка asp:, которая запускает функцию кода за событием OnClick.В этом событии OnClick происходит несколько вещей, и среди этих вещей я проверяю в базе данных, должен ли я задать пользователю вопрос «да» или «нет».Для этого мне нужно окно сообщения.Сначала я сделал это так:
protected void MyButton_Onclick(object sender, EventArgs e)
{
// lots of stuff happening
bool iNeedToAskTheUser = INeedToAskTheUser(stuff);
if (iNeedToAskTheUser)
{
DialogResult result = MessageBox.Show("Do you want to fix all objects?", "Fix objects", MessageBoxButtons.YesNo);
if (result == DialogResult.Yes) // do stuff
}
// some other stuff
}
Это прекрасно работает локально, но не при развертывании, поэтому я решил, что вместо этого мне нужно будет использовать ScriptManager.RegisterStartupScript.Я мог бы просто добавить javascript на страницу ASPX, которая запускает диалоговое окно и сохраняет ответ в скрытом элементе управления, на который я затем могу смотреть, но я не хочу запускать диалоговое окно без необходимости, которое я проверяю раньшеЯ делаю DialogResult в коде выше.Поэтому я не могу сделать это немедленно, когда пользователь нажимает кнопку.
Можно ли каким-либо образом использовать ScriptManager.RegisterStartupScript в «середине» моего кода _OnClick, чтобы я мог выбирать, действительно ли онпоказать кнопку, а затем также узнать, нажал ли пользователь «да» или «нет» (желательно) без обратной передачи?