从用户控件刷新asp.net页面到页面顶部

时间:2009-11-30 07:09:30

标签: asp.net javascript updatepanel

我正在使用表单的更新面板,当单击“继续”按钮时,返回到同一页面,但会显示要填写的可见的不同字段。其中一个字段是某些信用卡数据,是用户控件的一部分。用户控件具有“立即付款”按钮。因此,在页面内部有一个用户控件,其中包含您填写的字段,然后单击“立即付款”。点击此按钮后,如果出现验证错误,则会在页面顶部显示错误,但页面不会移到页面顶部。我想知道在用户点击更新面板中包含的页面上的用户控件按钮后,我可以滚动到页面顶部。(在这种情况下,javascript不是jquery会更好)

代码示例:

<ajax:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
       <asp:ImageButton ID="ContinueButton" runat="server" AlternateText="Continue"  SkinID="Continue" EnableViewState="false" OnClick="ContinueButton_Click" ValidationGroup="group1" />
</ContentTemplate>
</ajax:UpdatePanel>

在Code后面,实例化了用户控件。

ASP.CreditCardStuff cc = new ASP.CreditCardStuff();
                cc.ValidationGroup = "group1";
                phForms.Controls.Add(cc);

这是包含“立即付款”按钮

的用户控件

2 个答案:

答案 0 :(得分:0)

如何在按钮旁边以及页面顶部提供验证错误指示器?这样页面将保持滚动到同一点(对用户更好),而不是跳到顶部,纯粹是为了使页面顶部的错误指示可见(不太好)。

答案 1 :(得分:0)

您可以处理end_request事件:

function pageLoad(sender, args) {
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(function (sender, args) {
        if (args.get_error() == null) {
            // do the scrolling here
        }
    });
}