【问题标题】:Refreshing an asp.net page to top of page from user control从用户控件刷新 asp.net 页面到页面顶部
【发布时间】:2010-12-21 13:19:40
【问题描述】:

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

这是包含“立即付款”按钮的用户控件

【问题讨论】:

    标签: asp.net javascript updatepanel


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-02
        • 2021-02-13
        • 2013-07-07
        • 1970-01-01
        • 2011-01-09
        • 2020-10-09
        • 2014-02-07
        相关资源
        最近更新 更多