青松阳光

关注.NET平台及SharePoint产品
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

关于SmartNavigation属性的优缺点

Posted on 2007-01-22 15:25  青松阳光  阅读(615)  评论(0编辑  收藏  举报

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.