0

我正在使用 ASP.NET,在向导控件中,我有单选按钮,如果选择“是”,则会显示一个面板,但如果选择“否”,则隐藏面板。我将 MaintainScrollPositionOnPostBack 设置为 True,尽管 ActiveStepChanged 事件将其更改为 False,因此当您单击“下一步”查看下一个向导步骤时,它将从页面顶部开始。问题是,在单击“下一步”后,第一次单击单选按钮时,它会跳到页面顶部(第一次单击单选按钮后,页面将保持其位置)。我如何阻止它第一次跳跃?

4

3 回答 3

4

设置Page.MaintainScrollPositionOnPostBack = true为在 Postback 上保持当前屏幕位置。

这比尝试通过 JavaScript 或其他任何方式自己做这件事要容易。

于 2010-12-15T22:37:45.870 回答
2

您可以通过将控件放在UpdatePanel中来阻止页面进行完全刷新

于 2010-12-15T22:25:43.447 回答
1

我知道这已经得到解答,但是我无法在我正在从事的项目中使用 ajax 我遇到了类似的问题,我找到了一个可以接受的解决方法。我在一个也有母版页的页面中有一个用户控件。在用户控件中有一个输入表单,在底部附近有一些触发回发的控件。母版页上的主要内容 div 使其可滚动(因为它太大)。我找到的解决方案是将页面焦点设置为对 c# 代码隐藏中回发触发的事件的控件。例如:

protected void cbShip_CheckedChanged(object sender, EventArgs e)    
{
    if (cbShip.Checked)
    {
        pnlShip.Visible = true;
        Page.SetFocus(ddlShipCountry);
    }
    else
    {
        pnlShip.Visible = false;
    }
    return;
}
于 2011-09-07T18:32:01.763 回答