跨页面传值有哪些方法,四种跨页面传值方式有何差异,各自使用于什么情况
大家好,今天来和大家分享一下有关跨页面传值有哪些方法的问题,我们知道很多人对此还不太了解,同样的四种跨页面传值方式有何差异,各自使用于什么情况也是如此,我们今天就一起来探讨一下这两个问题吧!如果我的分享可以帮助到你,希望大家能够继续关注我们的网站,我们会持续为大家提供更多信息和帮助,谢谢大家!
Axure9如何利用全局变量实现跨页面传值
当我们使用Axure进行原型设计时,在同一个页面上单击不同的按钮来显示不同的内容,这可以通过动态面板来实现。如果你想在a页面点击不同的按钮,你想如何在B页面显示不同的内容?下面就来教你Axure9如何利用全局变量实现跨页面传值!对于准备自学或者正在自学Axure的小伙伴,那么我建议你学习体验的Axure自学视频课,0基础到案例实操,全面学习~
Axure9利用全局变量实现跨页面传值方法:
一、交互效果说明点击「首页」金刚区的按钮,跳转至「分类」页面,选中对应的Tab选项,切换显示对应的内容。
效果预览:
二、交互效果制作1.创建两个页面,分别命名为「首页」和「分类」。
2.在「首页」中拖入一个圆形和一个文本标签,设置好颜色和文本,右键设置为组合,命名为【人文-Botton】,再复制出4个完全相同的组合,分别进行命名和设置,页面其他内容可自定义。
3.在「分类」页面中拖入一个矩形,设置文本内容为“人文”,将其命名为「人文-Tab」;在右侧【交互】面板中给其添加【元件选中的样式】图所示,设置选项组名称为「Tab组」。
4.给文本标签「人文-Tab」添加【鼠标单击时】【选中当前元件】的交互。
5.设置完成后,再复制出四个相同文本标签分别命名和设置文本内容,这样Tab就制作完成了。
6.制作出「分类」页面的内容部分,内容可自定义,制作好后选中内容右键转化为动态面板,再复制出4个状态,分别进行命名。
7.给「Tab组」的5个文本标签分别添加【选中】时的交互,切换到【内容】面板的对应状态。
接下来我们需要通过设置全局变量来储存我们的数据,在「首页」中点击按钮给全局变量赋值,然后在「分类」页面中载入时通过判断全局变量的值,显示不同的面板状态。
8.点击顶部菜单【项目】-【全局变量设置】,添加一个全局变量,命名为「BottonVariable」,默认值为空。
9.接下来分别给金刚区的5个按钮组合添加【鼠标单击时】的交互,分别【设置变量值】为「renwen」「lishi」「sheke」「yishu」「yinyue」;均设置【跳转链接】至「分类」页面。
这里需要保证在载入「分类」页面前已经赋值成功,所以设置变量值的交互要在跳转链接之前。
10.在「分类」中添加【页面载入时】的交互,分别添加情形及对应的选中效果,如下:
【变量值】「BottonVariable」为【renwen】时,设置动作为【选中】矩形元件「人文—Tab」;
【变量值】「BottonVariable」为【lishi】时,设置动作为【选中】矩形元件「人文—Tab」;
【变量值】「BottonVariable」为【sheke】时,设置动作为【选中】矩形元件「社科—Tab」;
【变量值】「BottonVariable」为【yishu】时,设置动作为【选中】矩形元件「艺术—Tab」;
【变量值】「BottonVariable」为【yinyue】时,设置动作为【选中】矩形元件「音乐—Tab」。
做完这一步,就完成整个效果了
以上就是关于“Axure9如何利用全局变量实现跨页面传值?”的全部精彩内容分享了,希望你能从中有所收获哦!如果觉得一篇文章不够尽兴,那么Axure相关文章可别错过!总而言之,学习道路,单一知识是很难成就自我全面发展的!想要全面精通擅长一个技能,那么学习也得全面!来,全面学习Axure,综合获取知识点,快速有效促成独立自主原型设计~
以上就是本文的全部内容,希望对大家的学习有所帮助,。-->四种跨页面传值方式有何差异,各自使用于什么情况
不同的页面间传值使用很普遍,非常重要,传值方式有四种分别是cookie,session,sendRedirect和超链接,隐藏表单
1.cookie主要用于记录用户的一些信息,例如记录用户的登录信息使用户一段时间内不用登录,它有服务器创建,并放在客户端(用户登录时的电脑上(一般可以在浏览器工具——》Internet选项——》点击第一个设置——》查看文件在这里可以找到上网的记录,包括一些小的视频和cookie,从这一点来看cookie并不安全,可以在cookie看到密码)),当使用时,服务器就会从电脑上获取,然后验证,一个用户有一个cookie,而且cookie的存在时间不受任何影响,关机都不会影响cookie。
2.session是存放在服务器端的数据,每当双击打开浏览器时就会有一个session,也就是说每一个浏览器一个session,session的使用时间是受使用影响的,当关机时候session就不会再存在,当session没有到期时如果使用,session就会重新计时。可以用于判断用户的合法(是否通过用户名,密码登陆的),传递用户名(sendRedirect是明文传值,值会再地址栏显示出来,不能用于传重要数据,例如密码),jsp页面的session与servlet中的session是共用的。
3.sendRedirect或超链接是转向某页面并可以传值例如res.sendRedirect("logincl?username="+name1+"&psw="+pass1);在转向的页面通过下面的语句获取值
String u= req.getParameter("username");String p= req.getParameter("psw");
超级链接:("<a href=welcome?pagenow="+ i+">"+ i+"</a>");
接收值:String pagenow= req.getParameter("pagenow");
可以用于传错误信息等保密性不是很强的信息
4.隐藏表单
pw.println("<input type=hidden name=sex value=男<br>");
在转向的页面可以用下面的语句接收
String s=req.getParameter("sex");
ASP.NET跨页面传值技巧总结
关于页面传值的方法,引发了很多讨论。看来有很多人关注这个,我就我个人观点做了些总结,希望对大家有所帮助。
1.使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
string s_url;
s_url="b.aspx?name="+ Label1.Text;
Response.Redirect(s_url);
}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
Label2.Text= Request.QueryString["name"];
}
2.使用Application对象变量
Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
Application["name"]= Label1.Text;
Server.Transfer("b.aspx");
}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
string name;
Application.Lock();
name= Application["name"].ToString();
Application.UnLock();
}
3.使用Session变量
想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
Session["name"]= Label.Text;
}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
string name;
name= Session["name"].ToString();
}
4.使用Cookie对象变量
这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合内置对象Request来使用。
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
HttpCookie cookie_name= new HttpCookie("name");
cookie_name.Value= Label1.Text;
Reponse.AppendCookie(cookie_name);
Server.Transfer("b.aspx");
}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
string name;
name= Request.Cookie["name"].Value.ToString();
}
5.使用Server.Transfer方法
这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。
a.aspx的C#代码
public string Name
{
get{ return Label1.Text;}
}
private void Button1_Click(object sender, System.EventArgs e)
{
Server.Transfer("b.aspx");
}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
a newWeb;//实例a窗体
newWeb=(source)Context.Handler;
string name;
name= newWeb.Name;
}
传值方法比较多
我在添加一个
Cross-Page Posting
定位至于源网页位于相同的应用程序的网页,可以读取源网页的值和公共属性,但是不要按浏览器中的重新整理和上一步,这样会照成无法预期的效果
eg:
aspx
您的名字:
Text="传送" OnClick="btn_name_Click"/
cs:
TextBox name=(TextBox)PreviousPage.FindControl("name");//非public成员
Label1.Text="欢迎你:"+ name.Text;
previouspage本身属于page类,并且只有在来源网页和目标网页属于同一个asp.net应用程序下的时候才能引用,如果网页不是跨网页公布的目标,或者是网页在不同的应用程序之中,就不会初始化previouspage属性,就不能使用previouspage来存取任何信息
获得网页的公共属性:
source.cs:
public string UserName
{
get{return aa.text;}
}
cross-page posting.aspx:
cross-page posting.cs:
lab.text= previousopage.username;
//一个网页中只能指示一个previousPage,不然出出现编译错误