`
xuxujiang0
  • 浏览: 18848 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

.NET 页面间传值的几种方法

阅读更多


QueryString传值:
1. 这是最简单的传值方式,但缺点是传的值会显示在浏览器的地址栏中且不能传递对象,只适用于传递简单的且安全性要求不高的整数值,例如:

2. 新建一个WEB项目,添加一个页面命名为Test1,在页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为tbxUserName和tbxPassWord,添加Buttond的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e)

{

    string url=" Test1.aspx?UserName=" +tbxUserName.Text + "&Password=”+tbxPassWord.Text+””;

    Response.Redirect(url);

}

3. 添加另一个页面命名为Test2,在页面添加两个Lable分别命名为labUserName和labPassWord,添加页面的Load()事件:

private void Page_Load (object sender, System.EventArgs e)

{

    labUserName.Text=Request.QueryString["UserName"];

    labPassWord.Text=Request.QueryString["Password"];

}

4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。

 

Server.Transfer传值:
1. 这种方式避免了要传递的值显示在浏览器的地址栏中,但是比较麻烦,例如:

2. 新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和labPassWord,为Test1添加过程返回tbxUserName和tbxPassWord的值并添加btnLogin的Click()事件:

public string UserName

{

    get

    {

        return tbxUserName.Text;

    }

}

public string Password

{

    get

    {

        return tbxPassWord.Text;

    }

}

private void btnLogin_Click (object sender, System.EventArgs e)

{

    Server.Transfer("Test2.aspx");

}

3. 添加Test2页面的Load()事件:

private void Page_Load (object sender, System.EventArgs e)

{

    Test1 t1; //创建原始窗体的实例

    t1=( Test1)Context.Handler; //获得实例化的句柄

    labUserName.Text= t1.UserName;

    labPassWord.Text= t1.Password;

}

4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。

 

Cookie对象变量:
1. Cookie是针对每一个用户而言的,是存放在客户端的 ,Cookie的使用要配合ASP.NET内置对象Request来使用,例如:

2. 新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和labPassWord,为Test1添加Buttond的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e)

{

    HttpCookie cookie_UserName = new HttpCookie("UserName");

    HttpCookie cookie_PassWord = new HttpCookie("PassWord ");

    cookie_ UserName.Value = tbxUserName.Text;

    cookie_ PassWord.Value = tbxPassWord.Text;

    Response.AppendCookie(cookie_ UserName);

    Response.AppendCookie(cookie_ PassWord);

    Server.Transfer("Test2.aspx");

}

3. 添加Test2页面的Load()事件:

private void Page_Load (object sender, System.EventArgs e)

{

    labUserName.Text = Request.Cookies["UserName"].Value.ToString();

    labPassWord.Text = Request.Cookies["PassWord "].Value.ToString();

}

4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。

 

Session对象变量:
1. Session也是针对每一个用户而言的,是存放在服务器端的 ,Session不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed 后,变量才会消失,例如:

2. 新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和labPassWord,为Test1添加Buttond的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e)

{

    Session["UserName"]=tbxUserName.Text;

    Session["PassWord"]=tbxPassWord.Text;

    Response.Redirect("Test2.aspx");

}

3. 添加Test2页面的Load()事件:

private void Page_Load (object sender, System.EventArgs e)

{

    labUserName.Text=Session["UserName"].ToString();

    labPassWord.Text=Session["Password"].ToString();

    Session.Remove("UserName"); //清除Session

    Session.Remove("PassWord"); //清除Session

}

4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。

 

Application对象变量:
1. Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock,例如:

2. 新建一个WEB项目,添加两个页面分别命名为Test1和Test2,在Test1页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为tbxUserName和tbxPassWord,在Test2页面添加两个Lable分别命名为labUserName和labPassWord,为Test1添加Buttond的Click()事件:

private void btnLogin_Click (object sender, System.EventArgs e)

{

    Application["UserName"] = tbxUserName.Text;

    Application["PassWord "] = tbxPassWord.Text;

    Server.Transfer("Test2.aspx");

}

3. 添加Test2页面的Load()事件:

private void Page_Load (object sender, System.EventArgs e)

{

    Application.Lock();

    labUserName. Text = Application["UserName"].ToString();

    labPassWord. Text = Application["PassWord "].ToString();

    Application.UnLock();

}

4. 把Test1设为起始页,运行项目在Test1页面的文本框中输入值后点击按钮,就可以在Test2页面中显Test1页面输入的结果。

分享到:
评论

相关推荐

    ASP.NET 页面间传值的几种方法

    ASP.NET 页面间传值的几种方法 在 ASP.NET 中,页面之间传值是非常常见的需求,例如在用户注册时,需要将用户信息从注册页面传递到欢迎页面,以便显示用户的信息。在本文中,我们将讨论 ASP.NET 页面间传值的五种...

    ASP.NET中页面传值的几种方法

    ### ASP.NET中页面传值的几种方法 在ASP.NET开发中,页面间的传值是非常重要的一个环节,这对于实现用户交互、数据处理等功能至关重要。本文将详细介绍ASP.NET中常见的几种页面传值方法,并对其进行深入解析。 ###...

    asp.net 页面之间传值方法总结.

    以下是对几种常用的ASP.NET页面之间传值方法的详细总结: #### 1. 使用 QueryString 传递参数 **定义与特点**: - QueryString 是一种在URL后面通过问号附加参数的传统方法。 - 它的优点在于实现简单,适用于传递...

    asp.net页面间的传值汇总

    本文将对几种常见的ASP.NET页面间传值方式进行深入解析,包括GET、POST、页面对象属性及Cookie,旨在帮助开发者更好地理解和运用这些技术。 #### 一、GET方式(使用QueryString显式传递) **方式描述**:GET方式...

    ASP.NET中页面传值的几种方法收藏

    根据提供的文件信息,本文将详细介绍ASP.NET中常用的几种页面传值方法,并对每种方法进行深入解析,帮助开发者更好地理解和应用这些技术。 ### 1. 使用表单提交 (Form Post) 这是最传统的页面传值方式之一,通过`...

    ASP.NET页面传值的几种方法

    ASP.NET 页面传值是开发Web应用时常见的需求,主要涉及三种方法:Response.Redirect、QueryString以及Session变量。每种方法都有其适用场景和优缺点。 1. **使用 QueryString** QueryString 是通过URL来传递参数的...

    ASP.NET页面之间传值方法详解

    本文将详细介绍几种常用的ASP.NET页面间传值方法,并提供具体的代码示例。 #### 1. 使用 QueryString 传递参数 **QueryString** 是一种常见的页面间传值方式,它通过URL中的查询字符串来传递参数。当需要在两个...

    ASP.NET跨页面传值技巧

    以下将详细介绍几种常用的ASP.NET跨页面传值技巧。 1. **使用QueryString变量**: QueryString是通过URL参数来传递数据的方式。在a.aspx页面上,可以将Label1的文本内容添加到URL中,然后通过Response.Redirect...

    ASP.NET页面间的传值的几种方法(总结)

    ### ASP.NET 页面间的传值的几种方法(详细总结) 在ASP.NET开发中,页面间传值是一项非常重要的技能。为了确保应用程序的连贯性和用户体验,掌握多种传递数据的方法至关重要。本文将详细介绍几种常用的ASP.NET页面...

    ASP.NET实现页面传值的几种方法小结

    需要注意的是,虽然上述方法可以实现页面间的数据传递,但每种方法都有其适用场景和限制。开发人员应该根据具体的应用场景和安全要求来选择最合适的数据传递方法。例如,在传递敏感信息时,应避免使用QueryString,...

    asp.net实现页面传值的方法集合

    本文将详细介绍几种常用的ASP.NET页面传值方法,并通过具体的示例代码来帮助理解每种方式的特点及适用场景。 #### 一、使用Response.Redirect进行传值 这种方式是通过服务器端重定向到另一个页面,并在URL中携带...

    C#窗体间的六种传值方式与ASP.NET的页面传值

    C#窗体间的六种传值方式,通过六过实例,实现了C#窗体间的六种传值方式,三种回传,三种直传,通过属性,构造函数,与事件实现窗体间的传值;还有一个例子是页面间的几种传值方式(c#,.net,asp.net,winFORM)

    ASP.NET页面间的传值的几种方法

    ASP.NET页面间的传值是开发过程中常见的需求,尤其是在构建多页面的应用程序时。本文将详细介绍在ASP.NET Web Forms中三种常见的传值方法:Querystring、Session变量和Server.Transfer。 一、使用Querystring ...

    ASP.NET C#页面传值汇总

    ### ASP.NET C# 页面传值方法详解 在ASP.NET Web应用程序开发中,页面间的数据传递是常见需求之一。本文将详细介绍几种常用的页面间数据传递方式:Querystring、Session、Server.Transfer、Application以及Cookie,...

    详解ASP.NET 页面之间传值的几种方式

    ***作为.NET框架下的一个关键Web应用开发平台,提供了多种页面间传值的方式,这对于构建动态Web应用至关重要。以下将详细探讨这些传值方式的原理和实现方法: 1. Request.QueryString方式 这是一种通过URL的查询...

    ASP.NET页面之间传递值的几种方法

    ASP.NET 页面之间传递值的几种方法 在 ASP.NET 中,页面之间传递值是非常常见的操作。下面我们将讨论几种常见的方法。 一、使用 QueryString 使用 QueryString 是 ASP.NET 页面之间传递值的一种常见方法。这是一...

    asp.net 页面间传值方法小结

    本文将对***中页面间传值的几种常见方法进行总结,帮助开发者更好地理解并掌握这些技术。 首先,最常见的页面间传值方法是使用表单提交。虽然原代码示例中提到在***中直接使用JavaScript的form.submit()方法无效,...

    ASP.NET的几种页面传值方法

    ASP.NET是一种强大的Web应用程序开发框架,它提供了多种页面间传值的方法。以下是对这些方法的详细解释: 1. 使用 `QueryString` 变量 QueryString 是通过URL参数传递值的方式,简单易用,适用于传递单个或少量不...

    asp.net 页面传值的几个方法

    在***应用程序中,页面之间传递数据的方式主要有几种,接下来将对这些方式进行详细说明。 1. Response.Redirect(或称QueryString方式、URL方式) 当需要通过URL参数的方式在页面间传递数据时,可以使用Response...

Global site tag (gtag.js) - Google Analytics