Метод DisplayAlert добавляет клиентский скрипт в текущий выполняемый запрос страницы. Когда вы вызываете Response.Redirect, ASP.NET выдает HTTP 301-перенаправление в браузер, поэтому начинает новый запрос страницы, где зарегистрированный клиентский скрипт больше не существует.
Поскольку ваш код выполняется на стороне сервера, невозможно отобразить предупреждение на стороне клиента и выполнить перенаправление.
Кроме того, отображение окна предупреждений JavaScript может сбивать с толку умственного рабочего процесса пользователя, поэтому гораздо более предпочтительным будет встроенное сообщение. Возможно, вы могли бы добавить сообщение в сеанс и отобразить его в запросе страницы Default.aspx.
protected void Save(..)
{
// Do save stuff
Session["StatusMessage"] = "The changes were saved Successfully";
Response.Redirect("Default.aspx");
}
Затем в коде Default.aspx.cs (или в общем классе базовой страницы, так что это может произойти на любой странице или даже на главной странице):
protected void Page_Load(object sender, EventArgs e)
{
if(!string.IsNullOrEmpty((string)Session["StatusMessage"]))
{
string message = (string)Session["StatusMessage"];
// Clear the session variable
Session["StatusMessage"] = null;
// Enable some control to display the message (control is likely on the master page)
Label messageLabel = (Label)FindControl("MessageLabel");
messageLabel.Visible = true;
messageLabel.Text = message;
}
}
Код не проверен, но должен указывать правильное направление