导航:首页 > 万维百科 > 网页设计网页为什么不能跳转

网页设计网页为什么不能跳转

发布时间:2020-09-08 12:28:57

1、为什么网页不能正常跳转(在线等-------)

1.页面之间无法传递变量
get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到
当然也可以修改自动全局变量为开(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。

2.使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏上的(不安全),同时又不能传递对象,但是在传递的值少而安全性要求不高的情况下,这个方法还是一个不错的方案。使用这种方法的步骤如下:
1,使用控件创建web表单(form)
2,创建可以返回表单的按钮和链接按钮
3,在按钮或链接按钮的单击事件里创建一个保存URL的字符变量
4,在保存的URL里添加QueryString参数
5,使用Response.Redirect重定向到上面保存的URL
下面的代码片断演示了如何实现这个方法:
源页面代码:
private void Button1_Click
(object sender, System.EventArgs e)
{
string url;
url="anotherwebform.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text;
Response.Redirect(url);
}
目标页面代码:
private void Page_Load
(object sender, System.EventArgs e)
{
Label1.Text=Request.QueryString["name"];
Label2.Text=Request.QueryString["email"];
}

使用Session变量
使用Session变量是可以在页面间传递值的的另一种方式,在本例中我们把控件中的值存在Session变量中,然后在另一个页面中使用它,以不同页面间实现值传递的目的。但是,需要注意的是在Session变量存储过多的数据会消耗比较多的服务器资源,在使用session时应该慎重,当然了,我们也应该使用一些清理动作来去除一些不需要的session来降低资源的无谓消耗。使用Session变量传递值的一般步骤如下:
1,在页面里添加必要的控件
2,创建可以返回表单的按钮和链接按钮
3,在按钮或链接按钮的单击事件里,把控件的值添加到session变量里
4,使用Response.Redirect方法重定向到另一个页面
5,在另一个页面提取session的值,在确定不需要使用该session时,要显式清除它
下面的代码片断演示了如何实现这个方法:
源页面代码:
private void Button1_Click
(object sender, System.EventArgs e)
{
//textbox1 and textbox2 are webform
//controls
Session["name"]=TextBox1.Text;
Session["email"]=TextBox2.Text;
Server.Transfer("anotherwebform.aspx");
}
目标页面代码:
private void Page_Load
(object sender, System.EventArgs e)
{
Label1.Text=Session["name"].ToString();
Label2.Text=Session["email"].ToString();
Session.Remove("name");
Session.Remove("email");
}

使用Server.Transfer
这个方法相比上面介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写一些代码以创建一些属性以便可以在另一个页面访问它,但是,这个方式带来的好处也是显而易见的。总体来说,使用这种方法是简洁的同时又是面向对象的。使用这种方法的整个过程如下:
1,在页面里添加必要的控件
2,创建返回值的Get属性过程
3,创建可以返回表单的按钮和链接按钮
4,在按钮单击事件处理程序中调用Server.Transfer方法转移到指定的页面
5,在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了
以下代码综合实现上述步骤过程的代码:
源页面代码:
把以下的代码添加到页面中
public string Name
{
get
{
return TextBox1.Text;
}
}

public string EMail
{
get
{
return TextBox2.Text;
}
}
然后调用Server.Transfer方法
private void Button1_Click
(object sender, System.EventArgs e)
{
Server.Transfer("anotherwebform.aspx");
}
目标页面代码:
private void Page_Load
(object sender, System.EventArgs e)
{
//create instance of source web form
WebForm1 wf1;
//get reference to current handler instance
wf1=(WebForm1)Context.Handler;
Label1.Text=wf1.Name;
Label2.Text=wf1.EMail;
}

在ASP.NET 2.0中启用了跨页面传送功能,其功能和用法在以后在做介绍!

页面之间传递值

方式1:

在接收页 的html代码里加上一行: <%@ Reference Page = "WebForm1.aspx" %>

WebForm1 fp=(WebForm1)Context.Handler;
this.TextBox1.Text=fp.name; //name 是第一页的public变量

Context 提供对整个当前上下文(包括请求对象)的访问。您可以使用此类共享页之间的信息。

方式2:GET方式
在发送页
public int sum=0;

int i =int.Parse(this.TextBox1.Text)*2;

Server.Transfer("WebForm2.aspx?sum="+i);

接收页
this.TextBox1.Text=Request["sum"].ToString();
or this.TextBox1.Text=Request.Params["sum"].ToString();
this.TextBox1.Text=Request.QueryString["sum"];

方法3:全局变量

发送页:
Application["sum"]=this.TextBox1.Text;
Server.Transfer("WebForm2.aspx");

接收页:
this.TextBox1.Text=(string)Application["sum"];

Application实质上是整个虚拟目录中所有文件的集合,如果想在整个应用范围内使用某个变量值,Application对象将是最佳的选择

在这里用Session[""]的方法雷同

方法4:

发送页:
1.定义静态变量: public static string str="";
2. str=this.TextBox1.Text;
Server.Transfer("webform2.aspx");
接收页:
1.引入第一页的命名空间:using WebApplication1;
2 this.TextBox1.Text=WebForm1.str;

2、为什么在自己制作的网页中插入的超链接不能实现跳转,那么怎样才能转到自己所需的网站?

window.location.href="http://www.163.com"
window.open("http://www.163.com")
这些脚本应该都可以转到所需网址吧

3、为什么有些网页的某些链接不能跳转?

网上搜索可见,不少人都遇到了同样问题。

HOTMAIL用的某些 JavaScript 与 MSNTV (WebTV) LBB不兼容。你提到的链接因为用了这种 JavaScript,所以链接失败。

微软的东西与微软的东西不兼容,时有发生。

等HOTMAIL修改JavaScript语句,或你更新Windows 和 IE来兼容HOTMAIL的JavaScript。

为什么不用别的邮箱呢?网上有许多免费邮箱都比HOTMAIL好呀。

4、网页不能自动跳转,该怎么设置?

IE默认首页被修改的故障排除。

IE浏览器上方的标题栏被改成“欢迎访问……网站”的样式,这是最常见的篡改手段,受害者众多。排除办法可通过修改注册表来解决:
①在Windows启动后,点击“开始”→“运行”菜单项,在“打开”栏中键入regedit,然后按“确定”键;
②展开注册表到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main
下,在右半部分窗口中找到串值“Start Page”双击 ,将Start Page的键值改为“about:blank”即可;
③同理,展开注册表到
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
在右半部分窗口中找到串值“Start Page”,然后按②中所述方法处理。
④退出注册表编辑器,重新启动计算机,一切OK了!
特殊例子:当IE的起始页变成了某些网址后,就算你通过选项设置修改好了,重启以后又会变成他们的网址啦,十分的难缠。其实他们是在你机器里加了一个自运行程序,它会在系统启动时将你的IE起始页设成他们的网站。
解决办法:运行注册表编辑器regedit.exe,然后依次展开
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Run
主键,然后将其下的registry.exe子键删除,然后删除自运行程序c:\Program Files\registry.exe,最后从IE选项中重新设置起始页就好了。

7、恶意网页篡改IE的默认页的排除方法。

有些IE被改了起始页后,即使设置了“使用默认页”仍然无效,这是因为IE起始页的默认页也被篡改啦。具体说来就是以下注册表项被修改:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet ExplorerMain\Default_Page_URL
“Default_Page_URL”这个子键的键值即起始页的默认页。排除办法:
运行注册表编辑器,然后展开上述子键,将“Default_Page_UR”子键的键值中的那些篡改网站的网址改掉就好了,或者设置为IE的默认值。

8、IE浏览器缺省主页被修改的排除办法。

修改IE浏览器缺省主页,并且锁定设置项,禁止用户更改回来。主要是修改了注册表中IE设置的下面这些键值(DWORD值为1时为不可选):
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"Settings"=dword:1
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"Links"=dword:1
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"SecAddSites"=dword:1

排除办法:将上面这些DWORD值改为“0”即可恢复功能。
或者用超级兔子的ie修复也可以

5、网页不能自动跳转,是怎么回事

参考下面做法:
最好的方法是:
<script language="javascript">
<!--
function check()
{
if(document.form1.name.value=="")
{
alert("文本域不能为空!");
document.form1.name.focus();
return false;
}
-->
</script>

<form name="form1" method="post" action="reg.asp" onsubmit="return check()">
<input name="name" type="text" id="name">
<input type="submit" name="Submit" value="提交">
</form>

这样就是当点“提交”时,验证后再传递数据

6、我的电脑网页无法跳转,怎么办

是中毒抄了吧.你可以袭下载360安全卫士进行查杀,一般的流氓软件都可以清除掉了。到这个网址就能下载了 你可以尝试一下对浏览器进行重置,看看会不会有效果。可以到“工具”-“Internet选项”-“高级”选项卡,找到“重置”选项,把浏览器重置一遍,不行就重新安装一次浏览器

7、为什么网页无法跳转啊

 1、点浏览器上的工具——然后再选择最下面的Internet选项.dll后选择“确定”,建议在网
络比较稳定和安全的环境下修复一下IE,并点击“清除表单”和“清除密码”——确定。
再“Internet选项”——“高级”“还原默认”——确定——之后重新打开浏览器尝试。
2、之后请清除一下浏览器的缓存(打开IE浏览器——工具——Interner选项——删除
Cookies),点击电脑桌面左下角“开始”——“运行”,说明已成功修复组件。
3、再点Internet删除文件(记得勾上删除所有脱机内容),输入regsvr32 jscript。并且请
在“Internet选项”——“内容”——“自动完成”——将勾全部去掉,再次输入regsvr32 vbscript.dll
选择“确定”。

8、为什么我打开一个网页不能跳转到另外一个网页?

如果是遨游的话....状态栏(就是最下面那一栏)...把强制在新标签中打开链接去掉(就是再点一下..) 那要看你用的是什么浏览器啦如果用的是IE 的话那就不是你机子的事啦,那是网站自己设置的,你是不能改的。 如果你用的是多页面浏览器的话,那在设置-选项里面就可以改一下啦!

9、有些网页不能跳转 跳转不成功

全面杀毒。另外将IE重置一下。

重置方法:
打开IE、工具、Internet选项、高级、还原默认设置。

打开IE、工具、Internet选项、程序、重围WEB设置。

以上两项都设置一下。

10、为什么我打开新的网页时,无法自动跳转到新页面

这是制作网页的时候设置了用新建窗口打开链接,可以在IE中设置不新建网页打开,就在同一页中打开,设置如下: IE7.0 工具->Internet选项->选项卡设置->遇到弹出窗口时->始终在新选项卡中打开弹出窗口

与网页设计网页为什么不能跳转相关的知识