zoukankan      html  css  js  c++  java
  • .net中常用的几种页面间传递参数的方法

    1.session方便,但容易丢失;

    2.application全局;

    3.cookie简单,但是可能不支持,容易被伪造;

    4.input type="hide"隐藏域,简单,但容易被伪造

    5.url参数简单,显示与地址栏,但是长度有限;

    6.数据库稳定,安全,但性能较弱;

    表单提交

    传递页面代码
    <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传值

    页面代码
    <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;
    
        }
    

     Cookie传值

    页面代码
    <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);
    
        }
    
    接收代码
    protected void Page_Load(object sender, EventArgs e)
    
        {
    
            HttpCookie myCookie = Request.Cookies["MyCookie"];
    
            txt1.Value = myCookie.Value;
    
        }
    

     Session传值

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

    页面
    <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");
    
    }
    
    接收值
    protected void Page_Load(object sender, EventArgs e)
    
    {
    
       txt1.Value = Session["value"].ToString();
    
    }
    

    Application传值

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

    页面
    <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);
        }
    
    接收
    protected void Page_Load(object sender, EventArgs e)
    
        {
    
            txt1.Value = Application["param1"].ToString();
    
        }
    
  • 相关阅读:
    Luncene介绍
    多线程&定时器Timer&同步&线程通信&ThreadLocal
    JVM垃圾收集器&对象的引用回收
    JVM介绍&自动内存管理机制
    JS原生Ajax&Jquery的Ajax技术&Json
    Jedis/JedisPool和Redis数据类型与特性
    NoSQL&Redis
    maven中的jar包未下载完全如何解决?
    如何在IntelliJ IDEA中配置Maven
    pip安装超时怎么办?
  • 原文地址:https://www.cnblogs.com/lishuo/p/4062957.html
Copyright © 2011-2022 走看看