ASP.NET中的网页间传值

ASP.NET中的网页间传值

一、举例

在淘宝上,输入正确的用户名、密码后就可以登录到个人账号的网页中,例如用户名旺旺。用户旺旺无论是搜索商品、查看商品、查看个人信息,都会打开很多网页。这时候,用户旺旺进行的所有的操作都是基于自己的账号。换句话说,无论用户旺旺打开多少淘宝的网页,只要账号没有退出,就是在自己的账号下进行的操作。

在这种情况下,就涉及到网页之间的传值,即用户旺旺打开的网页都是被标记为“旺旺”的网页。

二、ASP.NET中常用的网页间传值的技术

技术一:Request . QueryString [ “ ” ]方式

技术二:Session对象

规律:无论使用哪种方法,传值一定是分成两步:第一步,在第一个网页中赋值;第二步,在第二个网页中接收传递过来的值。

三、Request . QueryString [ “ ” ]方式

使用这个方式传值,是通过网址实现的。

举例:第一步:在第一个页面First . aspx中赋值

Response.Redirect("Second.aspx?id=100");

解释:

Response.Redirect()方法是链接到另一个网页

second.aspx指的是目标网页

说明有网页之间的传值

id=100说明实际要传递的值是100,通过名字id来指代(id这个名字是可以根据实际情况来命名的)。

如果要传递的信息是用户名旺旺,可以写成

Response.Redirect("second.aspx?name=旺旺");

注意:旺旺不用使用单引号引起来。

第二步:在第二个页面Second.aspx中接收传递的值

情况一:string str = Request.QueryString["id"];//str=100

或者string str = Request.QueryString["name"];//str=旺旺

这样,从First.aspx网页传递过来的值就在Second.aspx页面中被string类型的变量str接收了。

情况二:接收的值直接运用于SQL语句中。

规律:一般网页之间的传值都是运用于SQL语句,所以要掌握这种方法。

1string strSQL = "select * from news where id =" +Request. QueryString ["id"];

实际得到的SQL语句是:select * from news where id =100;//前提:字段id是整型

2string strSQL = "select * from news where name =" +Request. QueryString ["name"] + "";

实际得到的SQL语句是:select * from news where name =旺旺 //前提:字段name是字符型

 

四、Session对象

使用Session对象相当于在整个站点内定义了一个“全局变量”,可以在所以网页中传递值。

注意:使用了Session对象的网页运行时是有先后顺序的。一定是“声明”Session对象的网页先运行。

举例:

第一步:在First.aspx网页中声明Session对象

protected void Page_Load(object sender, EventArgs e)

{

Session["Name"] = "";

//相当于声明一个“全局变量”,这个“全局变量”可以在网页之间传值

}

protected void Button1_Click(object sender, EventArgs e)

{

    Session["Name"] = 旺旺; //Session对象Name赋值

    Response.Redirect("Second.aspx");//链接到另一个网页

}

第二步:在Second.aspx网页中使用Session对象

protected void Page_Load(object sender, EventArgs e)

{

if(Session["Name"] == "旺旺")

{

   Label1.Text="用户 旺旺:上午好!";

}

else

{

       Response.Redirect("First.aspx");//如果验证Session对象Name的值不是“旺旺”,那么网页直接跳转到First.aspx中,从而实现网页信息的保护

}

}

注意:在使用Session对象时,运行网页一定要先从First.aspx页面开始运行。如果从Second.aspx开始运行,由于Session对象Name没有声明,也没有赋值,会出现错误的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值