• asp.net页面间传值的几种方法


    表单提交

    传送页面代码

    <html xmlns="http://www.w3.org/1999/xhtml" >

    <head runat="server">

    <title>表单提交</title>

    <script type="text/javascript" language="javascript">

    function post()

    {

    forPost.action
    ="DestinationPage.aspx";

    forPost.submit();

    }

    </script>

    </head>

    <body>

    <form id="forPost" method="post">

    方式一:表单提交<br />

    <input type="text" id="SourceData2" runat="server"/>

    <input type="button" id="btnTransfer1" value="提交" onclick="post();" />

    </form>

    </body>

    </html>


    接收页面代码

    protected void Page_Load(object sender, EventArgs e)

    {

    string a = Request.Form["SourceData2"].ToString();

    txt1.Value = a;

    }

    QueryString传值

    传送页面代码

    <html xmlns="http://www.w3.org/1999/xhtml" >

    <head runat="server">

    <title>QueryString</title>

    </head>

    <body>

    <form id="form1" runat="server">

    <div>

    <input type="text" id="txt1" runat="server" />

    <input type="text" id="txt2" runat="server" />

    <input type="button" id="btn1" value="提交" runat="server" onserverclick="btn1_ServerClick" />

    </div>

    </form>

    </body>

    </html>

     

        protected void btn1_ServerClick(object sender, EventArgs e)

    {

    string aa = txt1.Value;

    string bb = txt2.Value;

    string url = "DestinationPage5.aspx?parameter1=" + aa + "&parameter2=" + bb;

    Response.Redirect(url, false);

    }

    接收页面代码

    protected void Page_Load(object sender, EventArgs e)

    {

    txt1.Value = Request.QueryString["parameter1"].ToString();

    txt2.Value = Request.QueryString["parameter2"].ToString();

    }

    链接地址传值

    传送页面代码

    <a href="DestinationPage6.aspx?param1=1111&param2=2222">跳转</a>

    接收页面代码

    protected void Page_Load(object sender, EventArgs e)

    {

    txt1.Value = Request["param1"];

    txt2.Value = Request["param2"];

    }

    Context传值

    通过Context传值,在传送页面之前,将需要传递到其他页面的值存在Context中。

    传送页面代码

    <html xmlns="http://www.w3.org/1999/xhtml" >

    <head runat="server">

    <title>Context</title>

    </head>

    <body>

    <form id="form1" runat="server">

    <div>

    <input type="text" id="txt1" runat="server" />

    <input type="button" id="btn1" value="提交" runat="server" onserverclick="btn1_ServerClick" />

    </div>

    </form>

    </body>

    </html>

     

    protected void btn1_ServerClick(object sender, EventArgs e)

    {

    Context.Items["value"] = txt1.Value;

    Server.Transfer("DestinationPage3.aspx");

    }

     

    接收页面代码

    protected void Page_Load(object sender, EventArgs e)

    {

    string a = Context.Items["value"].ToString();

    txt1.Value = a;

    }



    Server.Transfer传值

    传送页面代码

    <html xmlns="http://www.w3.org/1999/xhtml" >

    <head runat="server">

    <title>Server.Transfer</title>

    </head>

    <body>

    <form id="form1" runat="server">

    <div>

    <input type="text" id="txt1" runat="server" />

    <input type="button" id="btn1" value="提交" runat="server" onserverclick="btn1_ServerClick" />

    </div>

    </form>

    </body>

    </html>

     

    View Code
    protected void btn1_ServerClick(object sender, EventArgs e)

    {

    Server.Transfer("DestinationPage4.aspx");

    }



    public string Value

    {

    get { return txt1.Value; }

    }

     

    接收页面代码

    View Code
    public partial class Transfer_DestinationPage4 : System.Web.UI.Page

    {

    private Transfer_SourcePage4 sourcePage;



    protected void Page_Load(object sender, EventArgs e)

    {

    sourcePage = (Transfer_SourcePage4)Context.Handler;

    string aa = sourcePage.Value;

    txt1.Value = aa;

    }

    }

    Cookie传值

    传送页面代码

    View Code
    <html xmlns="http://www.w3.org/1999/xhtml" >

    <head runat="server">

    <title>Cookie</title>

    </head>

    <body>

    <form id="form1" runat="server">

    <div>

    <input type="text" id="txt1" runat="server" />

    <input type="button" id="btn1" value="提交" runat="server" onserverclick="btn1_ServerClick" />

    </div>

    </form>

    </body>

    </html>



    protected void btn1_ServerClick(object sender, EventArgs e)

    {

    string aa = txt1.Value;

    HttpCookie cookie = new HttpCookie("MyCookie", aa);

    Response.Cookies.Add(cookie);

    string url = "DestinationPage8.aspx";

    Response.Redirect(url, false);

    }

     

    接收页面代码   

    View Code
     protected void Page_Load(object sender, EventArgs e)

    {

    HttpCookie myCookie = Request.Cookies["MyCookie"];

    txt1.Value = myCookie.Value;

    }

     

    Session传值

    通过Session取值,在一个页面中赋值,在其他页面中共享。为避免造成Session值的混乱无序,应尽量少用Session传非公共的变量。Session比较适合用来保存一些公共变量。

    传送页面代码

    View Code
    <html xmlns="http://www.w3.org/1999/xhtml" >

    <head runat="server">

    <title>Session传值</title>

    </head>

    <body>

    <form runat="server">

    <input type="text" id="txt1" runat="server" />

    <input type="button" id="btn1" value="提交" runat="server" onserverclick="btn1_ServerClick" />

    </form>

    </body>

    </html>



    protected void btn1_ServerClick(object sender, EventArgs e)

    {

    Session["value"] = txt1.Value;

    Response.Redirect("DestinationPage2.aspx");

    }

     

    接收页面代码

    View Code
    protected void Page_Load(object sender, EventArgs e)

    {

    txt1.Value = Session["value"].ToString();

    }


    Application传值

    此种方法不常使用,因为Application在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用于计数器等需要全局变量的地方。

    传送页面代码

    View Code
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>Application</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <input type="text" id="txt1" runat="server" />
    <input type="button" id="btn1" value="提交" runat="server" onserverclick="btn1_ServerClick" />
    </div>
    </form>
    </body>
    </html>

    protected void btn1_ServerClick(object sender, EventArgs e)
    {
    string aa = txt1.Value;
    Application["param1"] = aa;
    string url = "DestinationPage7.aspx";
    Response.Redirect(url, false);
    }

    接收页面代码

    View Code
    protected void Page_Load(object sender, EventArgs e)

    {

    txt1.Value = Application["param1"].ToString();

    }



  • 相关阅读:
    BZOJ 1433 && Luogu P2055 [ZJOI2009]假期的宿舍 匈牙利算法
    BZOJ 1123 && Luogu P3469 [POI2008]BLO-Blockade 割点+乘法原理
    POJ3694 Network 边双缩点+LCA+并查集
    luogu P5142 区间方差 十分优美的线段树
    luogu P2709 小B的询问 最简单的莫队
    luogu P2731 骑马修栅栏 Riding the Fences
    TYVJ P2032 「Poetize9」升降梯上 spfa最短路
    51nod 1515 明辨是非 并查集+set维护相等与不等关系
    BZOJ 1260: [CQOI2007]涂色paint 区间DP
    luogu P4145 上帝造题的七分钟2 / 花神游历各国 维护区间和&&区间开根号
  • 原文地址:https://www.cnblogs.com/xiaoyusmile/p/2408797.html
Copyright © 2020-2023  润新知