我有一个登录按钮,他跟随代码。
protected void prv_Click(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
if (!HttpContext.Current.Request.IsSecureConnection)
{
string postbackUrl = HttpContext.Current.Request.Url.AbsoluteUri.Replace("http", "https");
Response.Redirect(postbackUrl);
}
}
login_box.Visible = true;
}
问题是,如果用户正在使用http进行浏览并点击登录链接以激活prv_Click,则网站会将您重定向到https,这是正确的,但是login_box是标准div设置为可见false并在服务器上运行永远不会被设置为真。用户必须再次单击登录链接,然后展开它。
任何帮助将不胜感激。
答案 0 :(得分:1)
不要在按钮单击上设置可见性,在页面加载时设置它。这样的事情应该有效:
login_box.Visible = HttpContext.Current.Request.IsSecureConnection;
请注意,它不应该在IsPostBack
中。这将始终确保只有在您拥有安全连接时才能看到它。如果由于任何其他原因需要隐藏它,那么您需要相应地修改表达式。