【问题标题】:scroll position on Ajax's Timer OnTick eventAjax 的 Timer OnTick 事件上的滚动位置
【发布时间】:2011-11-10 17:03:12
【问题描述】:

在我正在使用 Iframe 的母版页的 contentPlaceHolder 中。在 Iframe 中假设,IfrmPage.aspx 我正在使用更新面板,其中计时器控件在每个特定持续时间更新页面。

所以,我要做的是在 OnTick 事件之后将焦点设置在文本框上。我正在使用以下行:

ScriptManager1.SetFocus(this.txtMessage.ClientID);

这可以正常工作。但是,主页或者我应该说母版页的滚动条改变了它们的位置,这很烦人。

请分享您的宝贵经验。

谢谢。

【问题讨论】:

    标签: asp.net c#-4.0 asp.net-ajax


    【解决方案1】:

    在谷歌上搜索后,我找到了答案。

    现在我使用 javascript 将焦点设置为 txtMessage(textbox) 并删除此代码: ScriptManager1.SetFocus(this.txtMessage.ClientID); 最终答案在这里:

    <script type="text/javascript">
         var prm = Sys.WebForms.PageRequestManager.getInstance();
         prm.add_pageLoaded(pageLoaded);
         function pageLoaded(sender, args) {
             if (args.get_panelsUpdated().length > 0) {
                 $get('txtMessage').focus();
             }
         }
    </script>
    

    【讨论】:

      【解决方案2】:

      您是否尝试过在 IfrmPage.aspx 的页面声明中使用 MaintainScrollPositionOnPostback?

      【讨论】:

      • 在谷歌上搜索后,我找到了答案。现在我使用 javascript 将焦点设置为 txtMessage(textbox) 并删除此代码: ScriptManager1.SetFocus(this.txtMessage.ClientID);最终答案在这里:
      • 很高兴您对其进行了排序,但这仍然是一个有用的属性。它出现在页面顶部的页面指令上,例如: ...但是,我不知道这是否适用于涉及的 ajax。 msdn.microsoft.com/en-us/library/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多