Вы создаете простую белую страницу со всеми вашими данными, которые вы хотите отправить обратно, внутри формы, и с помощью javascript вы создаете обратную запись.
Проблема в том, что у пользователя не было включения javascript,в этом случае на этой простой белой странице вы видите сообщение, в котором говорится, что эта страница автоматически перенаправляется на другую страницу через несколько секунд, или нажмите здесь, чтобы перенаправить прямо сейчас.
Эта простая белая страница,это просто перезапись нормальной страницы после клика.
Вы также можете прочитать этот пост, который похож на трюк с отправкой данных формы на другой URL с исходным кодом и примером.
и существует также много других способов передачи значений между веб-страницами asp.net .
Обычно это происходит, когда у вас есть поставщик платежного шлюза, и вы выиграли от своегостраницу для передачи на этот шлюз - PayPal, например.Еще одно решение также состоит в том, чтобы иметь страницу со сводкой того, что вы хотите отправить на следующую страницу, и на этой странице у вас есть все ваши данные, а также сводка и обычная запись обратно на шлюз.
Мне нужно запустить функцию (в коде сзади) при нажатии кнопки.Как только эта функция будет завершена, я хочу, чтобы код, стоящий позади, отправлял сообщение на другую страницу со значениями скрытого поля
Когда ваша функция завершится, вы не сможете перейти с сообщением обратно на другую страницу.Что вы можете сделать - это отобразить на своей странице простую форму с вашими данными в качестве скрытого ввода, которую нужно отправить на другую страницу, и автоматически отправить эту новую форму, которую вы создали.
Пример
protected void Button1_Click(object sender, EventArgs e)
{
// ...you calculations here...
StringBuilder sbRenderOnMe = new StringBuilder();
// the form and the data
sbRenderOnMe.AppendFormat(
"<html><body><form action=\"http://www.google.com\" method=\"post\" name=\"form1\">"
+ "<input value=\"{0}\" id=\"lst-Send1\" name=\"Send1\" type=\"hidden\" />"
+ "<input type=\"submit\" name=\"Button1\" value=\"press me if not automatically redirect\" id=\"Button1\" />"
+ "</form>"
, 1100
);
// the auto submit
sbRenderOnMe.AppendFormat("<script>document.form1.submit();</script>");
sbRenderOnMe.AppendFormat("</body></html>");
Response.Write(sbRenderOnMe.ToString());
Response.End();
}
Единственный минус, который имеет небольшое мерцание и не работает автоматически без JavaScript, нужно и сказать пользователю нажать кнопку.