惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
博客园 - Franky
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
小众软件
小众软件
罗磊的独立博客
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
C
Check Point Blog
WordPress大学
WordPress大学
博客园 - 【当耐特】
博客园 - 司徒正美
D
Docker

博客园 - DODONG

在现有PDF文件上添加水印 c#获取硬件信息 一个读写csv文件的C#类 . C#操作Excel文件(读取Excel,写入Excel) . 解决全球化时区问题 利用ReportViewer读取Reporting Service数据 [转]用反射来处理多字段提交 查询数据表中重复的记录 CVS文件导入SQL ComponentArt.Web.UI中AJAX TreeView 抽象工厂(Abstract Factory)模式 简单工厂(Simple Factory)模式 工厂方法(Factory Method)模式 用.NET创建Windows服务 关于SharePoint中查询写法和注意的地方 关于&运算符和^ 初识WAP开发时.. C#操作XML XMLHttp客户端操作数据
asp.net网页智能导航SmartNavigation的替代实现方式
DODONG · 2006-03-14 · via 博客园 - DODONG

在开发asp.net项目过程中,经常遇到页面智能导航的问题。在最开始使用asp.net提供的SmartNagivation,但是因为SmartNavigation是通过在网页中嵌入IFrame的方式实现的,经常会出问题。如在使用Frame的页面中使用会造成样式页失效,和校验控件一起使用时会有问题等等。从网上也搜集了很多资料,大部分都是通过javascript来保存网页当前视图位置的方式来实现的,使用起来经常还是会出现页面抖动。
偶尔发现了微软的一个示例中的解决方法,代码如下:
在Page_load中调用该函数,另外,在aspx页面中将body的 id 起名为 thebody

private void RetainScrollPosition()
        
{
            
string saveScrollPosition=string.Empty;
            
string setScrollPosition=string.Empty;
 
            RegisterHiddenField(
"__SCROLLPOS""0");
 
            saveScrollPosition
+=("<script language='javascript'>");
            saveScrollPosition
+=("function saveScrollPosition() {");
            saveScrollPosition
+=(" document.forms[0].__SCROLLPOS.value = thebody.scrollTop;"); 
            saveScrollPosition
+=("}");
            saveScrollPosition
+=("thebody.onscroll=saveScrollPosition;");
            saveScrollPosition
+=("</script>");
 
            RegisterStartupScript(
"saveScroll", saveScrollPosition.ToString());
 
            
if(Page.IsPostBack)
            
{
 
                setScrollPosition
+=("<script language='javascript'>");
                setScrollPosition
+=("function setScrollPosition() {");
                
string[] GetVarStr=Page.Request.Params.GetValues("__SCROLLPOS");
                setScrollPosition
+=(" thebody.scrollTop = " + GetVarStr[0+";");
                setScrollPosition
+=("}"); 
                setScrollPosition
+=("thebody.onload=setScrollPosition;"); 
                setScrollPosition
+=("</script>");
 
                RegisterStartupScript(
"setScroll", setScrollPosition.ToString());
 
            }
 
        }