700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 维护Panel的滚动条ScrollBars位置(C#)

维护Panel的滚动条ScrollBars位置(C#)

时间:2023-09-17 11:59:06

相关推荐

维护Panel的滚动条ScrollBars位置(C#)

我们常将内容放在Panel中,例如文章,GridView控件等....。当内容超出Panel的高、宽时,可能就需要滚动条来进行控制。 当点击页面中按钮产生PostBack时,滚动条总是会回到最上面的位置,我们现在要解决的主要就是这个问题。

privatevoidHandlePanelScrolBar()...{//定义两个HiddenField,分别纪录Panel的ScrollBar的X与Y位置 HiddenFieldHF_ScrollPosX=newHiddenField();HiddenFieldHF_ScrollPosY=newHiddenField();HF_ScrollPosX.ID="ScrollPosX";HF_ScrollPosY.ID="ScrollPosY";form1.Controls.Add(HF_ScrollPosX);form1.Controls.Add(HF_ScrollPosY);//生成JS:将Panel的ScrollBar的X,Y位置设置给两个HiddenField stringscript;script="window.document.getElementById('"+HF_ScrollPosX.ClientID+"').value="+"window.document.getElementById('"+P_Container.ClientID+"').scrollLeft;"+"window.document.getElementById('"+HF_ScrollPosY.ClientID+"').value="+"window.document.getElementById('"+P_Container.ClientID+"').scrollTop;";this.ClientScript.RegisterOnSubmitStatement(this.GetType(),"SavePanelScroll",script);if(IsPostBack)//如果是PostBack,将保存在HiddenField的ScrollBar的X,Y值重设回给Panel的ScrollBar ...{script="window.document.getElementById('"+P_Container.ClientID+"').scrollLeft="+"window.document.getElementById('"+HF_ScrollPosX.ClientID+"').value;"+"window.document.getElementById('"+P_Container.ClientID+"').scrollTop="+"window.document.getElementById('"+HF_ScrollPosY.ClientID+"').value;";this.ClientScript.RegisterStartupScript(this.GetType(),"SetPanelScroll",script,true);}}

代码中的P_Container为Panel的名字

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。