在Ajax的Timer OnTick事件上滚动位置

时间:2011-09-05 15:06:38

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

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

所以,我正在尝试做的是在OnTick事件之后将重点放在文本框上。我正在使用以下行:

ScriptManager1.SetFocus(this.txtMessage.ClientID);

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

请分享您的宝贵经验。

感谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

在Google上搜索后我找到了答案。

现在我将焦点设置为使用javascript文本消息(文本框)并删除此代码: 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>