当用户点击按钮时,请使用以下代码将请求从“http”切换为“https”。这是为了在将用户/密码信息发送到服务器之前保护它们。在服务器中,应调用与按钮关联的后面的代码但不执行此操作。在不在Umbraco下的页面上,此代码可以正常工作。
控制:
<asp:ImageButton ID="btnLogin" runat="server" OnClick="btnLogin_Click" ... />
代码背后:
protected void Page_Load(object sender, EventArgs e)
{
PostBackOptions pbOptions = new PostBackOptions(btnLogin);
pbOptions.ActionUrl = Request.Url.ToString().Replace("http://", "https://");
btnLogin.Attributes.Add("onclick", "this.disabled = true; + Page.ClientScript.GetPostBackEventReference(pbOptions) + ";");
}
protected void btnLogin_Click(object sender, ImageClickEventArgs e)
{
want to execute that code
}
如果将此代码放在Umbraco页面中,当单击登录按钮时,请求将更改为“https”,页面将发布到服务器,但不会调用btnLogin_Click事件。
是否需要改变才能在Umbraco中完成这项工作?有没有人知道解决方案/解决方法让'btnLogin_Click'被执行?或者任何我可以找到问题的想法?
由于
答案 0 :(得分:0)
您是否尝试过添加Page_Load:
btnLogin_Click += new ImageClickEventHandler(btnLogin_Click);
您可能需要添加此项,因为除非您在usercontrol / masterpage声明中指定了AutoEventWireup =“true”,否则它不会在回发时自动触发。
HTH,
本杰明