Asp.net页面之间几种传值方法【示例】

1.Request.QueryString

在传值的页面(aspx.cs页面):

Response.Redirect("QueryStringPage.aspx?Data=" + Server.UrlEncode(DataToSendTextBox.Text));

在接收值的页面(.net前端页面):

<%=Server.UrlDecode(Request.QueryString["Data"]) %>

2.HttpPost

在传值的页面(aspx页面):

    <form id="form1" runat="server">
    <div>
        <h1>Source Page</h1>
        Data to send: <asp:TextBox ID="DataToSendTextBox" runat="server" Text="Hello World!"></asp:TextBox><br /><br />
        <asp:Button ID="HttpPostButton" runat="server" Text="Use HttpPost" PostBackUrl="~/HttpPostPage.aspx"/><br /><br />
    </div>
    </form>

在接收的页面(aspx页面):

<%=Request.Form["DataToSendTextBox"] %>

在接收的页面(aspx.cs页面):

System.Text.StringBuilder displayValues =
                new System.Text.StringBuilder();
            System.Collections.Specialized.NameValueCollection
                postedValues = Request.Form;
            String nextKey;
            for (int i = 0; i < postedValues.AllKeys.Length; i++)
            {
                nextKey = postedValues.AllKeys[i];
                if (nextKey.Substring(0, 2) != "__")
                {
                    displayValues.Append("<br>");
                    displayValues.Append(nextKey);
                    displayValues.Append(" = ");
                    displayValues.Append(postedValues[i]);
                }
            }
            ReceivedDataLabel.Text = displayValues.ToString();

上述代码中,postedValues[i]为获取到的所接收的值

3.Session State

传值页面(aspx.cs页面):

Session["Data"] = DataToSendTextBox.Text;
Response.Redirect("SessionStatePage.aspx");

接收值页面(aspx页面):

<%=Session["Data"] %>

4.Public Properties

传值页面(aspx.cs页面):

public string DataToSend
        {
            get
            {
                return DataToSendTextBox.Text;
            }
        }
Server.Transfer("PublicPropertiesPage.aspx");
接收值页面(aspx页面):
<%@ PreviousPageType VirtualPath="~/Default.aspx" %>
<%=PreviousPage.DataToSend %>5.Control Info
传值页面(aspx.cs页面)
        public string DataToSend
        {
            get
            {
                return DataToSendTextBox.Text;
            }
        }
 
Server.Transfer("ControlInfoPage.aspx");
接收值的页面(aspx页面)
<%@ PreviousPageType VirtualPath="~/Default.aspx" %>
 <asp:Label ID="DataReceivedLabel" runat="server" Text="Label"></asp:Label>
接收值的页面(aspx.cs页面)
protected void Page_Load(object sender, EventArgs e)
        {
            var textbox = PreviousPage.FindControl("DataToSendTextbox") as TextBox;
            if (textbox != null)
            {
                DataReceivedLabel.Text = textbox.Text;
            }
        }上述代码中,textbox.Text即为传送过来的值
 
时间: 2024-08-29 21:18:05

Asp.net页面之间几种传值方法【示例】的相关文章

笔记(三) ASP.NET 页面之间传值的几种方式

ASP.NET 页面之间传递值得方式大致可以分为如下几种:Request.QueryString["name"],Request.Form("name"),Session,Cookie,Cache,Application,Server.Transfer,Database, HttpContext的Item属性,Files,DataBase等等. 一.Request.QueryString 核心代码: protected void getQueryString_Cli

【转】【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

ASP.NET MVC系列文章 原文地址:https://www.cnblogs.com/wangjiming/p/6275854.html [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈AS

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

页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookies,Application,Server.Transfer 一.QueryString QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递数组或对象的话,就不能用这个方法了.

ASP.NET页面之间传递值(1):QueryString

QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递数组或对象的话,就不能用这个方法了. 这种方法的优点:1.使用简单,对于安全性要求不高时传递数字或是文本值非常有效. 这种方法的缺点:1.缺乏安全性,由于它的值暴露在浏览器的URL地址中的. 2.不能传递对象. 使用方法:1.在源页面的代码中用需要传递的名称和值构造URL地址. 2.在源页面的代码用Response.Redi

ASP.NET页面之间传递值(4):Server.Transfer

这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效. Server.Transfer是从当前的ASPX页面转到新的ASPX页面,服务器端执行新页并输出,在新页面中通过 Context.Handler来获得前一个页面传递的各种数据类型的值.表单数据.QueryString.由于重定向完全在服务器端完成,所以客户端 浏览器中的URL地址是不会改变的.调用Server

ASP.NET页面跳转及传值方式

ASP.NET页面跳转相关知识 一.<a>标签 1. <a href=”test.aspx”></a> 2. 这是最常见的一种转向方法; 二.HyperLink控件 1. Asp.net 服务器端控件 属性NavigateUrl指定要跳转到的Url地址 2. NavigateUrl是可以在服务器端使用代码修改,这个区别于<a> 3. 由于HyperLink本身没有事件所以要在服务器端其它事件中设置NavigateUrl 4. 代码示例: <Asp:Hy

ASP.NET页面之间传递值(3):Cookie

这个也是大家常使用的方法,Cookie用于在用户浏览器上存储小块的信息,保存用户的相关信息,比如用户访问某网站时用户的ID,用户的偏好等, 用户下次访问就可以通过检索获得以前的信息.所以Cookie也可以在页面间传递值.Cookie通过HTTP头在浏览器和服务器之间来回传递的. Cookie只能包含字符串的值,如果想在Cookie存储整数值,那么需要先转换为字符串的形式. 与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在

iOS 页面间几种传值方式(属性,代理,block,单例,通知)

iOS 页面间几种传值方式(属性,代理,block,单例,通知) 姜糖水 2015-05-03 52 阅读 iOS 移动开发 第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视图控制器的部分信息 例如:第一个界面中的lable显示第二个界面textField中的文本 这就需要使用代理传值 页面间传值有八大传值方式,下面我们就简单介绍下页面间常用的五

ASP.NET 页面间传递参数的方法

这个新特性意味着ASP.NET2.0开发人员目前有三种可供选择的技术来将数据从一个web页面传送到另外一个页面.这三种方法是:响应重定向,服务端传输和新的跨网页提交特性.我们可以已经熟悉前两种技术了,因此,我们只是简要地复习一下它们,然后我们会将主要精力放到学习如何使用跨网页提交特性,以及阐述一下这种方法和响应重定向以及服务传输方式有什么不同. 一.响应重定向方法 响应重定向方法是目前为止将一个网页重定向到另一个网页的最简单的方法的最简单的方法.当Web服务器接到一个重定向请求后,它会将一个响应