• ASP.NET-页面间的数据传递


    暑假期间做项目时遇到相关问题,总结如下,与大家分享

    1.通过查询字符串传递

    这种方式是将参数附加在网址的后面,传递数据简单,但容易暴露,一般用于传递一些简单的数据。

    例如,在Default1.aspx上的单击事件如下:

    protected void Button1_Click(object sendar,EventAgrs e)

    {

             Request.Redirect(“Default2.aspx?id=3”);

    }

    在Defaul2.aspx可以按如下方式获得数据。

    string id=Request.QueryString[“id”];//获得参数值

    2.通过POST方式

    这种方式采用表单提交数据。

    例如,在Default1.aspx包含如下代码:

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

             <div>

                       <asp:TextBox ID=”username” runat=”server”></asp:TextBox>

                       <asp:Button ID=”Button1” runat=”server” Text=”Button”>

    </div>

    </form>

    在Default2.aspx中可以按如下方式获得数据。

    string username=Request.Form[“username”];//获得表单域的

    3.通过Session

    这种方式一般是传递会话级共享数据。

    例如,在Default1.aspx上的按钮单击事件如下:

    protected void Button1——Click(object sendar,EventArgs e)

    {

             Session[“username”]=”honge”;

    Request.Redirect(“Default2.aspx”);

    }

    在Default2.aspx中可以按如下方式获得数据。

    string username=(string) Session[“username”];//获得Session中的数据

    4.通过Application

    这种方式一般是传递应用级共享数据。

    例如,在Default1.aspx上的按钮单击事件如下:

    protected void Button1——Click(object sendar,EventArgs e)

    {

             Application[“uername”]=”honge”;

             Request.Redirection(“Default2.aspx”);

    }

    在Default2.aspx中可以按如下方式获得数据。

    string username =Application[“username”];//获得Application中的数据

    5.通过PervoiusPage

    如果两个ASP.NET网页属于同一个应用程序,当源网页中利用Server.Transfer()或者按钮控件的PostBackUrl属性切换到目标网页时,目标网页可以使用PerviousPage属性来获取源网页中的公共属性或控件值。

    如果要获取源网页中的公共属性,需要在目标网页的页面代码中添加如下代码:

    <%@PervoiusPageType VirtualPath=”~/SourcePage.aspx”%>

    如果仅仅获取源网页中的控件值,则不需要添加这行代码。

    例如,在Dfault1.aspx.cs包含如下代码:
    public string Name

    {

    get {return “honge”;}

    }

    protected void Button_Click(object sendar,EventArgs e)

    {

             Server.Transfer(“Default2.aspx”);

    }

    在Default2.aspx页面中如果增加了如下代码:

    <%@PerviousPageType VirtualPath=”~/Default1.aspx”%>

    那么,在Default2.aspx中就可按如下方式获得数据:

    string name=PerviousPage.Name;

  • 相关阅读:
    Mysql 批量插入数据的方法
    sql server 多行合并一行
    跨服务器多库多表查询
    OPENQUERY用法以及使用需要注意的地方
    C# 判断操作系统的位数
    rpc介绍
    JavaScript decodeURI()与decodeURIComponent() 使用与区别
    UNIX 时间戳 C#
    C# winform javascript 互调用
    oracle 实例名和服务名以及数据库名区别
  • 原文地址:https://www.cnblogs.com/yh2015/p/4823479.html
Copyright © 2020-2023  润新知