为啥网页不能正常跳转(在线等-------)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥网页不能正常跳转(在线等-------)相关的知识,希望对你有一定的参考价值。

我现在在做一个动态网页,出现了一个问题,明明传递的参数是传到下一页,但运行的时候却总是回到主页面,而在下面地址栏当鼠标放在上面的时候却是正常显示,一点击就不行了,好急好急!!!!!!在线等答案

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;

参考资料:http://morning321.blog.hexun.com/13165710_d.html

参考技术A 用360安全卫士…

366API在线制作微信跳转链接源码可以实现无跳转浏览网站

下面我们可以了解下366API如何做到无跳转的

1、用来实现微信自动跳转外部浏览器下载app
2、用来实现微信内打开网页链接自动跳转浏览器访问指定页面
3、防止网页链接由于被微信拦截,导致用户无法正常在微信内打开

 

源码说明:

适用安卓和苹果系统,支持任何网页链接。并且无论链接是否已经被微信拦截,均可实现微信内自动跳转浏览器打开。

生成的跳转链接具有极佳的防拦截效果。

 

源码体验:

1、复制分享链接(app下载页链接或网页链接),然后在浏览器(电脑和手机上都可以)中打开我们需要用到的 366API 工具:http://www.366API.cn/

2、在工具的输入框中粘贴我们刚才复制的地址,然后点击生成按钮,生成完成后,复制新生成的跳转链接和二维码在微信中打开就可以自动跳转手机浏览器下载app或者打开网页了。

以上是关于为啥网页不能正常跳转(在线等-------)的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse做C程序时为啥Debug下不能生成exe文件,新手在线等帮助,悬赏!

HTML做的网页 如何使当前页面跳转到另一页面锚点处,在线等!!

dw做的一个网页,调用数据库的内容,英文字母为啥不能自动换行啊?

android Loading 加载之后怎么跳转到主页面,代码如下,在线等,求大神

366API在线制作微信跳转链接源码可以实现无跳转浏览网站

为啥大网站做的网站ICO图标能显示,我在线制作却不能显示