2011-12-26 2 views
2

フォームを送信した後で、検証サマリーを表示するために、先頭に戻そうとしているASP.NET 4.0ページがあります。マスターページとAjaxを使用してフォームを送信した後にページの先頭に戻る

私は、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> 

マイコンテンツページは次のようになります。

<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> 

現在何が起こっているというときに、ユーザーでありますフォームの下部に移動して[送信]ボタンを押すと、ページはそのまま残り、検証の要約は表示されません。検証でエラーが発生した場合は、ページを先頭に戻したいと思います。私はコンテンツページのヘッダーでmaintainscrollpositionの設定をfalseに変更しようとしましたが、何もしないようです。

ご協力いただければ幸いです!

答えて

5

あなたはあなたのボタンのOnClientClickプロパティにそれを追加することができ、このjavascriptの

scroll(0,0); 

を実行することができます。

+0

完璧な、そのトリックでした! –

+1

私はお役に立てます。あなたが役に立つと思ったら、この回答を受け入れることを検討してください。 –

+1

+1して自分自身をタイプするつもりだった –

関連する問題