B/S系统中如何定位到对象
在开发B/S系统的时候,由于页面的刷新问题,经常会导致页面自动滚动到开始。然而有时候,我们需要页面在刷新后返回到页面前的位置。为了解决这个问题,我写了一个方法,大家可以参阅,其实也不是一种高明的做法,但至少解决了一些问题。
原理就是在你需要的位置添加一个对象控件,让页面刷新后定位到此控件的位置,使用了scrollIntoView方法。
public void ScrollToObject(string str_Ctl_Name,Page page)
{
if(!page.IsStartupScriptRegistered ("ScrollObject"))
{
page.RegisterStartupScript("msgScrollObject"," <script>document.forms(0)."+str_Ctl_Name+".scrollIntoView();document.forms(0)."+str_Ctl_Name+".focus(); </script>");
}
}
{
if(!page.IsStartupScriptRegistered ("ScrollObject"))
{
page.RegisterStartupScript("msgScrollObject"," <script>document.forms(0)."+str_Ctl_Name+".scrollIntoView();document.forms(0)."+str_Ctl_Name+".focus(); </script>");
}
}
注:ScrollToObject:方法名
str_Ctl_Name:控件名
例子:ScrollToObject(Button1,Page);
对于DataGrid的的定位问题,你可以使用HTML 中锚点的方式来解决,具体的操作可以参阅HTML手册来学习锚点是怎样运用的,这里就不再多谈了