Вы не можете делать это так, как хотите.
Код C # (на стороне сервера) не может быть запущен, пока страница не будет отправлена обратно и выгружена из браузера. Таким образом, к тому времени, когда ваш серверный код запускает страницу, она уже не существует, поскольку это касается браузера, и уже слишком поздно запускать ваш код JavaScript. Это верно даже в середине поста назад, и даже если результатом поста будет та же страница. Вот почему при определенных обстоятельствах страницы ASP.Net могут мерцать во время обратной передачи.
Таким образом, вы не можете вызвать предупреждение javascript после того, как данные сохранены, не сделав это через какой-то обратный вызов ajax - и это, безусловно, один из вариантов. Другой вариант - на странице, на которую вы перенаправляете, показывать какое-то сообщение «данные сохранены» при определенных обстоятельствах; вызвать его с помощью чего-то простого, например, переменной сеанса или значения скрытого ввода при загрузке, так что это не очевидно для пользователя.
Но я думаю, что, вероятно, лучше всего ничего не делать. Похоже, если сохранить не удастся, вы не будете перенаправлять. Вы, вероятно, даже покажете какую-то ошибку. Если у вашего пользователя недостаточно уверенности в вашем приложении, что он не доверяет ему, даже если нет сообщения об ошибке, и оно переходит к следующему шагу, у вас проблемы.