提交包含Master Pages和Ajax的表单后返回页面顶部

Rob*_*lls 2 javascript asp.net

我有一个ASP.NET 4.0页面,我试图在提交表单后重置到顶部,以显示验证摘要.

我正在使用Ajax,我有一个包含以下简化代码的母版页:

 <form id="Form1" runat="server" target="_top" >
    <asp:ScriptManager runat="server" ID="SM1" />
    <asp:UpdatePanel runat="server" ID="UP1"  >
        <ContentTemplate>
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                    </asp:ContentPlaceHolder>
        </ContentTemplate>
    </asp:UpdatePanel>
    </form>
Run Code Online (Sandbox Code Playgroud)

我的内容页面如下所示:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

    <asp:ValidationSummary ID="vs1" runat="server" ValidationGroup="ValidateForm" DisplayMode="BulletList"
        CssClass="ValidationSummary" ShowSummary="true" ShowMessageBox="false" />
 < ... Form Field ... >
 < ... Form Field ... >
 < ... Form Field ... >
 < ... Form Field ... >
...
 < ... Form Field ... >


        <asp:ImageButton ID="btnSaveChanges" runat="server" ImageUrl="/Assets/Images/btn-AdminSaveChanges.png"
            ValidationGroup="ValidateForm" CausesValidation="false" OnClick="btnSaveChanges_Click" />

</asp:Content>
Run Code Online (Sandbox Code Playgroud)

当前发生的情况是,当用户到达表单底部并点击提交按钮时,页面将保持原样并且验证摘要不可见.我想在验证错误时将页面重置为顶部.我已经尝试在内容页面标题中将maintaincrollposition设置更改为false,但它似乎没有做任何事情.

任何帮助将不胜感激!

Tom*_*ski 5

你可以执行这个javascript

scroll(0,0);
Run Code Online (Sandbox Code Playgroud)

您可以将其添加到OnClientClick按钮的属性中.