我在受保护的页面的Page_Load语句中加入如下代码 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '构造客户端javascript ExecuteAtStart() Dim scriptString As String = "<script language=JavaScript> " scriptString += "function ExecuteAtStart(){ window.parent.location.href='treeview.aspx' } </script>" '注册以下 If (Not Me.IsStartupScriptRegistered("Startup")) Then Me.RegisterStartupScript("Startup", scriptString) End If End Sub 这样还不能达到效果,必须在受保护页面的aspx中作如下修改 将<body MS_POSITIONING="GridLayout" > 手动改为<body MS_POSITIONING="GridLayout" onload="ExecuteAtStart()"> 才可达到效果。 我的问题是:是否同样可以在服务器端代码中自动生成onload="ExecuteAtStart()"?其实我发现这样做还有缺点。通过如上方法,当用户访问被保护页面时用户确实是被引导至了login.aspx页面,但被保护的页面还是在浏览器中闪烁一下,才转移到login.aspx页面,有没有更好的解决方案(消除在浏览其中保护叶面的闪烁)?? 谢谢!!!
(直接粘贴jackyhx(飞起来的侠)的:)
你好!请问Response.write("<script>window.parent.location=login.aspx</script>")
应该放在什么地方?我将这段话放在page_load中,执行起来有错误。
'构造客户端javascript ExecuteAtStart()
Dim scriptString As String = "<script language=JavaScript> "
scriptString += "function ExecuteAtStart(){
window.parent.location.href='treeview.aspx' } </script>"
'注册以下
If (Not Me.IsStartupScriptRegistered("Startup")) Then
Me.RegisterStartupScript("Startup", scriptString)
End If
End Sub
这样还不能达到效果,必须在受保护页面的aspx中作如下修改
将<body MS_POSITIONING="GridLayout" >
手动改为<body MS_POSITIONING="GridLayout" onload="ExecuteAtStart()">
才可达到效果。
我的问题是:是否同样可以在服务器端代码中自动生成onload="ExecuteAtStart()"?其实我发现这样做还有缺点。通过如上方法,当用户访问被保护页面时用户确实是被引导至了login.aspx页面,但被保护的页面还是在浏览器中闪烁一下,才转移到login.aspx页面,有没有更好的解决方案(消除在浏览其中保护叶面的闪烁)??
谢谢!!!
先response.redirect("tran.aspx")
在trans.aspx中用vbscript:parent.location.href="login.aspx"