Решение состоит в том, чтобы использовать asp.net для указания «обратной передачи между страницами», то есть вы используете свойство PostBackUrl любого элемента управления кнопки (LinkButton, Button, ImageButton и т. Д.). Это свойство позволяет вам отправлять сообщения на любую понравившуюся вам страницу. Просто установите для вашего PostBackUrl версию https на вашей странице, и все готово (также убедитесь, что не существует активных перенаправлений URL-адресов, которые вызывают http на вашей странице).
// ensure we send credentials over a secure connection
if (!HttpContext.Current.Request.IsSecureConnection)
{
string postbackUrl = HttpContext.Current.Request.Url.AbsoluteUri.Replace("http", "https");
LinkButton_Login.PostBackUrl = postbackUrl;
}
В вашем конкретном случае вы должны установить одну из ваших кнопок для отправки обратно в версию https, а другую в версию http (если вы не укажете PostBackUrl, по умолчанию вы отправляете обратно на саму страницу как есть. ).