updated on 2007/8/14
对于smartNavigation属性也许大家都了解了,它的主要作用是,记住web页面的当前滚动位置,当页面提交后重新回到当前位置,而不是回到web的最上边.这对于有大数据且无翻页处理的DataGrid是有好处的. 因为客户在对DataGrid进行编辑时,如果DataGrid没有分页,那么经提交返回后,要编辑的条目就跳出了用户的视线,总是一种缺憾.
设置smartNavigation有三种方法:
1. 在需要设置的页面的Page指令里添加: smartNavigation=True
2. 编程添加. 在 Page的Load事件里加入: page.smartNavigation = True
3. 如果几乎项目的每个页面都要基础滚动位置的话, 则可以在Web.Config文件里加入 <pages smartNavigation="false" />配置
这样其作用域是全局的.
但是此属性似乎也有缺陷, 就是页面的css, 或者后台发出的javascript有时候会不好用了, 目前还不清楚如何解决.
另外一个方法可以不使用这个属性, 同样达到此功能, 请参见以下链接:
http://aspnet.4guysfromrolla.com/articles/111704-1.aspx
在ASP.NET2.0中相应的Page指令已经更改为 MaintainScrollPositionOnPostback, 其功能和smartNavigation相同, 推荐使用MaintainScrollPositionOnPostback.
![](/images/cnblogs_com/happyhzs2000/qsygsl.jpg)