asp.net网页智能导航SmartNavigation的替代实现方式
2011-01-17 13:58
399 查看
http://czm600604604.blog.163.com/blog/static/825206820094215237512/
asp.net网页智能导航SmartNavigation的替代实现方式
在开发asp.net项目过程中,经常遇到页面智能导航的问题。在最开始使用asp.net提供的SmartNagivation,但是因为SmartNavigation是通过在网页中嵌入IFrame的方式实现的,经常会出问题。如在使用Frame的页面中使用会造成样式页失效,和校验控件一起使用时会有问题等等。从网上也搜集了很多资料,大部分都是通过javascript来保存网页当前视图位置的方式来实现的,使用起来经常还是会出现页面抖动。
偶尔发现了微软的一个示例中的解决方法,代码如下:
在Page_load中调用该函数,另外,在aspx页面中将body的id起名为thebody
大体上还是通过ViewState保存当前位置的方式来实现的,但是很好用。
posted on 2005-03-29 13:56 doudou 阅读(810) 评论(2) 编辑 收藏 网摘 所属分类: dribs and drabs
#1楼 回复 引用 #2楼 doudou
用C#也没有问题啊,这是我使用的方式
/// <summary>
/// page smart navigation function
/// ensure the body.id=thebody;
/// </summary>
/// <remarks>使用此函数时,一定要将body加上树型id="thebody",否则会出现javascript错误。</remarks>
protected void RetainScrollPosition()
{
StringBuilder saveScrollPosition =new StringBuilder ();
StringBuilder setScrollPosition =new StringBuilder ();
this.RegisterHiddenField ("__SCROLLPOS","0");
saveScrollPosition.Append("<script language='javascript'>") ;
saveScrollPosition.Append("function saveScrollPosition() {") ;
saveScrollPosition.Append(" document.forms[0].__SCROLLPOS.value = thebody.scrollTop;") ;
saveScrollPosition.Append("}") ;
saveScrollPosition.Append("thebody.onscroll=saveScrollPosition;") ;
saveScrollPosition.Append("</script>") ;
RegisterStartupScript("saveScroll", saveScrollPosition.ToString()) ;
if(Page.IsPostBack )
{
setScrollPosition.Append("<script language='javascript'>") ;
setScrollPosition.Append("function setScrollPosition() {") ;
setScrollPosition.Append(" thebody.scrollTop = " + Request["__SCROLLPOS"] + ";") ;
setScrollPosition.Append("}") ;
setScrollPosition.Append("thebody.onload=setScrollPosition;") ;
setScrollPosition.Append("</script>") ;
RegisterStartupScript("setScroll", setScrollPosition.ToString()) ;
}
}
asp.net网页智能导航SmartNavigation的替代实现方式
在开发asp.net项目过程中,经常遇到页面智能导航的问题。在最开始使用asp.net提供的SmartNagivation,但是因为SmartNavigation是通过在网页中嵌入IFrame的方式实现的,经常会出问题。如在使用Frame的页面中使用会造成样式页失效,和校验控件一起使用时会有问题等等。从网上也搜集了很多资料,大部分都是通过javascript来保存网页当前视图位置的方式来实现的,使用起来经常还是会出现页面抖动。
偶尔发现了微软的一个示例中的解决方法,代码如下:
在Page_load中调用该函数,另外,在aspx页面中将body的id起名为thebody
大体上还是通过ViewState保存当前位置的方式来实现的,但是很好用。
posted on 2005-03-29 13:56 doudou 阅读(810) 评论(2) 编辑 收藏 网摘 所属分类: dribs and drabs
#1楼 回复 引用 #2楼 doudou
用C#也没有问题啊,这是我使用的方式
/// <summary>
/// page smart navigation function
/// ensure the body.id=thebody;
/// </summary>
/// <remarks>使用此函数时,一定要将body加上树型id="thebody",否则会出现javascript错误。</remarks>
protected void RetainScrollPosition()
{
StringBuilder saveScrollPosition =new StringBuilder ();
StringBuilder setScrollPosition =new StringBuilder ();
this.RegisterHiddenField ("__SCROLLPOS","0");
saveScrollPosition.Append("<script language='javascript'>") ;
saveScrollPosition.Append("function saveScrollPosition() {") ;
saveScrollPosition.Append(" document.forms[0].__SCROLLPOS.value = thebody.scrollTop;") ;
saveScrollPosition.Append("}") ;
saveScrollPosition.Append("thebody.onscroll=saveScrollPosition;") ;
saveScrollPosition.Append("</script>") ;
RegisterStartupScript("saveScroll", saveScrollPosition.ToString()) ;
if(Page.IsPostBack )
{
setScrollPosition.Append("<script language='javascript'>") ;
setScrollPosition.Append("function setScrollPosition() {") ;
setScrollPosition.Append(" thebody.scrollTop = " + Request["__SCROLLPOS"] + ";") ;
setScrollPosition.Append("}") ;
setScrollPosition.Append("thebody.onload=setScrollPosition;") ;
setScrollPosition.Append("</script>") ;
RegisterStartupScript("setScroll", setScrollPosition.ToString()) ;
}
}
相关文章推荐
- asp.net网页智能导航SmartNavigation的替代实现方式(C#保存)
- asp.net网页智能导航SmartNavigation的替代实现方式
- asp.net网页智能导航SmartNavigation的替代实现方式
- 在 ASP.NET 网页中不经过回发而以编程方式实现客户端回调
- 在 ASP.NET 网页中不经过回发而以编程方式实现客户端回调
- 在 ASP.NET 网页中不经过回发而以编程方式实现客户端回调
- AjaxPro.NET实现TextBox智能获取服务端数据功能(Asp.net 2.0)(示例代码下载)
- BBS多变个性贴图的实现,用ASP.NET网页动态生成图片
- 三种asp.net 抓取网页源码实现(asp.net采集,读取源码)
- ASP.NET四种页面导航方式之比较与选择
- asp.net 实现输入网址生成当前网页的图片
- asp.net利用.net控件实现下拉导航菜单的制作
- asp.net 抓取网页源码三种实现方法
- asp.net实现的计算网页下载速度的代码
- ASP.net下调用SmtpClient实现smtp方式邮件发送(带附件)
- ASP.NET MVC使用中转站方式获取code实现微信登录,分享功能
- asp.net 二级域名(路由方式实现)
- ASP.NET四种页面导航方式之比较与选择
- ASP.NET用XML的方式导出到excel多sheet的实现方式
- 在 ASP.NET 网页中不经过回发而实现客户端回调 [转MSDN]