簡體   English   中英

從用戶控件刷新asp.net頁面到頁面頂部

[英]Refreshing an asp.net page to top of page from user control

我正在為表單使用更新面板,單擊“繼續”按鈕時將返回到同一頁面,但使可見的不同字段得以填寫。這些字段之一是一些信用卡數據,並且是用戶控件的一部分。 用戶控件具有“立即付款”按鈕。 因此,頁面內有一個用戶控件,其中包含您要填寫的字段,然后單擊“立即付款”。 點擊此按鈕后,如果出現驗證錯誤,則錯誤會顯示在頁面頂部,但頁面不會移至頁面頂部。 我想知道在用戶單擊更新面板中包裝的頁面上的用戶控制按鈕后,如何滾動到頁面頂部。(在這種情況下,最好使用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>

在用戶控件后面的代碼中被實例化。

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

這是包含“立即付款”按鈕的用戶控件

如何在按鈕旁邊以及頁面頂部提供驗證錯誤指示符? 這樣,頁面將保持滾動到同一點(對用戶來說更合適),而不是跳轉到頂部,純粹是為了使頁面頂部的錯誤指示符可見(不太好)。

您可以處理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
        }
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM