繁体   English   中英

ASP.NET浏览器后退触发按钮事件

[英]ASP.NET browser back firing button event

我有一个问题,当用户在浏览器上单击“后退”按钮时,事件意外触发。 步骤如下。

  1. 用户点击按钮(触发btnNewSurvey_Click)
  2. 浏览器显示弹出窗口
  3. 用户关闭弹出窗口并从单独的链接导航到第二页。
  4. 浏览器显示第二页
  5. 用户点击回来
  6. 再次触发btnNewSurvey_Click(这是问题)

我想知道为什么会这样。 我已经研究过asp.net的页面生命周期以及关闭页面的缓存,但是我无法给出解释。

让我知道是否需要更多信息。 谢谢!

更新 :似乎仅当用户从Chrome单击时触发了按钮单击事件

aspx

<asp:Button ID="btnNewSurvey" runat="server" Text="New Survey" OnClick="btnNewSurvey_Click" />

aspx.cs

protected void btnNewSurvey_Click(object sender, EventArgs e)
{
    rwScreenList.VisibleOnPageLoad = true;
    rwScreenList.Visible = true;
    ListBox lbox = rwScreenList.ContentContainer.FindControl("lboxScreenSelection") as ListBox;
    ((Label)rwScreenList.ContentContainer.FindControl("lblScreenError")).Text = "";
    lbox.DataSource = DatabaseFactory.GetScreensForProject(ProjectId);
    lbox.DataBind();
}

问题是,当用户从另一个页面回击时,将调用此事件。

问题似乎出在您的rwScreenList.VisibleOnPageLoad = true;

如我所见,这是telerik属性,当您使用此属性时,您需要经历某些事情。

您也可以这样做:

rwScreenList.VisibleOnPageLoad = !Page.IsPostBack;

请参考下面的讨论,这将帮助您解决问题。

http://www.telerik.com/community/forums/aspnet-ajax/window/radwindow-reopening-after-closing-it-in-every-postback.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM