`
ribishuangba
  • 浏览: 291861 次
文章分类
社区版块
存档分类
最新评论

深入了解aspx页面的智能导航(SmartNavigation)功能(downmoon原创)

 
阅读更多

在启用页面的智能导航功能Page.SmartNavigation=true后,可以有提交页面后自动回到刷新前的页面位置!这是微软的.net提供的的一个很人性化的功能!(不是广告^_^)

可以查看一下此时页面的源文件,《body************的下方应该有这么一行:

< IFRAME ID =__hifSmartNav NAME =__hifSmartNav STYLE =display:none src ="/aspnet_client/system_web/1_1_4322/SmartNav.htm" ></ IFRAME >

这其实是.net 自动添加的一个Frame 所以实际是这个页面此时已经变成一个多Frame页面了!
从而会带来一个页面刷新问题:
在该页面的按钮保存事件中

string str = " frmaddMessage.aspx?strStatus=Edit&lngSysID= " + this .lngSysID.ToString() + " &id= " + lngID.ToString() + " &Manage=1 " ;
string script = string .Format( @" <scriptlanguage=javascript>alert('保存成功!请上传附件或返回!');window.location.href='{0}';</script> " ,str);
Response.Write(script);

执行上碳代码时会提示(这是个脚本错误):

“contentwindow.documentMent不是对象错误” 
其实这是由于Frame页面没有同步刷新引起的!
只须在代码前加上
Page.SmartNavigation=false,从而把页面临时改为单 Frame页面即可!
附微软提供的一个同时刷新多个Frame的例子!~

< HTML xmlns:MSHelp =http://msdn.microsoft.com/msHelp >
< head >
< SCRIPT > ...
function fnNavigate()
... {
for (i = 0 ;i < document.all.length;i ++ )
... {
if (document.all(i).tagName == " IFRAME " )
... {
document.all(i).contentWindow.location
= " http://www.msn.com " ;
}

}

}

</ SCRIPT >
< TITLE > contentWindow </ TITLE >
< LINK REL ="stylesheet" HREF ="/workshop/samples/samples.css" _fcksavedurl ="" /workshop/samples/samples.css""_fcksavedurl ="" /workshop/samples/samples.css""_fcksavedurl ="" /workshop/samples/samples.css""TYPE ="text/css" >
< LINK REL ="stylesheet" TYPE ="text/css" HREF ="ms-help://Hx/HxRuntime/HxLink.css" >< STYLE TYPE ="text/css" > ...
PRE.clsCode
{...} { font-size : 110% ; }
PRE.clsSyntax
{...} { font-size : 100% ; }
TDDIV.clsBeta
{...} { display : none ; }
MSHelp:link
{...} {
color
: #0000ff ;
text-decoration
: underline ;
cursor
: hand ;
hoverColor
: #3366ff ;
filterString
: ; }

</ STYLE >
</ HEAD >

< BODY >
< H2 > UsingthecontentWindowProperty </ H2 >
Clickthebuttonbelowtomakethe
< b > IFRAMEs </ b > navigatetoanewURL.
< P >
< BUTTON onclick ="fnNavigate();" > NavigateFrames </ BUTTON >
< P />
< IFRAME SRC ="http://www.microsoft.com" STYLE ="width:100%;height:150px;" >
</ IFRAME >
< P />
< IFRAME SRC ="http://www.microsoft.com" STYLE ="width:100%;height:150px;" >
</ IFRAME >
< P />
< IFRAME SRC ="http://www.microsoft.com" STYLE ="width:100%;height:150px;" />
</ IFRAME >


</ body >
</ html >

分享到:
评论

相关推荐

    如何实现web页面的提示保存功能

    每每听到客户抱怨自己修改和很久的数据由于自己的一个误操作而丢失时,总想让web页面也有像window窗体一样具有提示保存的功能。所以,经过一段时间的研究以后终于实现了这个功能!============ ...

    Asp.net保持页面滚动条位置(页面提交后不变)

    一般来说很多的人在控制浏览器滚动条都是用Page.SmartNavigation = False,对于页面中DIV等等的滚动条控制,我在看了别人代码后,写了一个,仅供参考: 代码如下: Public Shared Sub SaveDivScrollPosition(ByVal ...

    ASP.NET程序中常用的三十三种代码.txt

    ASP.NET程序中常用的三十三种代码 1. 打开新的窗口并传送参数:  传送参数: response.write("&lt;script&gt;window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)&lt;/script&gt;... 【aspx页面内:...

    ASP.NET常用代码

    【aspx页面内:(Container.DataItem,"Company_Ureg_Date")%&gt; 显示为: 2004-8-11 19:44:28 我只想要:2004-8-11 】 (Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%&gt; 应该如何改? 【格式化日期】 取...

    c#实现word文件合并

    用c#实现word文件的创建,合并This article shows where the SmartNavigation and MaintainScrollbackPositionOnPostback features fall short in maintaining tree position on postback and provides a JavaScript...

    ClipX 1.0.3.9 绿色汉化插件特别版

    一个小巧的剪贴版管理器。托盘方式显示,能够实时将剪贴版内容用文本显示在剪贴版历史中,方便你选择其中一...autoupdate自动检测升级ColorPicker颜色捕捉disklog日志记录limits固定列表项SmartNavigation、stickies...

Global site tag (gtag.js) - Google Analytics