知识大全 ASP.NET中页面间传值各种方法介绍

Posted

篇首语:鸟往明处飞,人往高处去。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET中页面间传值各种方法介绍相关的知识,希望对你有一定的参考价值。

ASP.NET中页面间传值各种方法介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  一 目前在ASP NET中页面传值共有这么几种方式

   表单提交    <form action= target aspx method = post name = form > <input name = param value = /> <input name = param value = />    </form>      form submit();      此种方在ASP NET中无效 因为ASP NET的表单总是提交到自身页面 如果要提交到别一页面 需要特殊处理 <A target aspx?param = &param = >链接地址传送</A>接收页面 string str = Request[ param ] Session共享发送页面 Session( param ) = ;  按收页面  string str = Session( param ) ToString();  Application共享发送页面 Application( param ) = ;   按收页面 string str = Application( param ) ToString();  此种方法不常使用 因为Application在一个应用程序域范围共享 所有用户可以改变及设置其值 故只应用计数器等需要全局变量的地方 Cookie Response Redirect()方式   Response Redirect( target aspx?param = &param = )   接收页面 string str = Request[ param ] Server Transfer()方式    Server Transfer( target aspx?param = &param = )   接收页面 string str = Request[ param ]

  二 如果在两个页面间需要大量的参数要传传递 如数据查询等页面时 用 - 的方法传值及其不便 而第 种方法确有一独特的优势!但使用该方法时需要一定的设置 现简单介绍一下该方法的使用方式

  以查询数据页面为例

  在查询页面中设置如下公有属性(QueryPage aspx)

  public class QueryPage : System Web UI Page            protected System Web UI WebControls TextBox txtStaDate;        protected System Web UI WebControls TextBox txtEndDate;                /// <summary>        /// 开始时间        /// </summary>        public string StaDate                    get return this txtStaDate Text;             set this txtStaDate Text = value;                 /// <summary>        /// 结束时间        /// </summary>        public string EndDate                    get return this txtEndDate Text;             set this txtEndDate Text = value;                         private void btnEnter_Click(object sender System EventArgs e)                    Server Transfer( ResultPage aspx );           

  在显示查询结果页面(ResultPage aspx)

  public class ResultPage : System Web UI Page            private void Page_Load(object sender System EventArgs e)                    //转换一下即可获得前一页面中输入的数据            QueryPage queryPage = (QueryPage)Context Handler;            Response Write( StaDate );            Response Write(queryPage StaDate);            Response Write( <br/>EndDate );            Response Write(queryPage EndDate);           

  三 如果有许多查询页面共用一个结果页面的设置方法

  在这种方式中关键在于 QueryPage queryPage = ( QueryPage )Context Handler; 的转换 只有转换不依赖于特定的页面时即可实现

  如果让所有的查询页面都继承一个接口 在该接口中定义一个方法 该方法的唯一作用就是让结果页面获得构建结果时所需的参数 就可实现多页面共享一个结果页面操作!

   先定义一个类 用该类放置所有查询参数

  /// <summary>    /// 结果页面中要用到的值    /// </summary>    public class QueryParams            private string staDate;        private string endDate;        /// <summary>        /// 开始时间        /// </summary>        public string StaDate                    get return this staDate;             set this staDate = value;                 /// <summary>        /// 结束时间        /// </summary>        public string EndDate                    get return this endDate;             set this endDate = value;            

   接口定义

  /// <summary>    /// 定义查询接口     /// </summary>    public interface IQueryParams            /// <summary>        /// 参数        /// </summary>        QueryParams Parameters get;   

   查询页面继承IQueryParams接口(QueryPage aspx)

  /// <summary>    ///查询页面 继承接口    /// </summary>    public class QueryPage : System Web UI Page IQueryParams            protected System Web UI WebControls TextBox txtStaDate;        protected System Web UI WebControls TextBox txtEndDate;        private QueryParams queryParams;                   /// <summary>        /// 结果页面用到的参数        /// </summary>        public QueryParams Parameters                    get                            return queryParams;                                    private void btnEnter_Click(object sender System EventArgs e)                    //赋值            queryParams = new QueryParams();            queryParams StaDate = this txtStaDate Text;            queryParams EndDate = this txtEndDate Text;            Server Transfer( ResultPage aspx );           

   别外的页面也如此设置

   接收页面(ResultPage aspx)

  public class ResultPage : System Web UI Page            private void Page_Load(object sender System EventArgs e)                    QueryParams queryParams = new QueryParams();            IQueryParams queryInterface;            //实现该接口的页面

            if (Context Handler is IQueryParams)                            queryInterface = (IQueryParams)Context Handler;                queryParams = queryInterface Parameters;                        Response Write( StaDate );            Response Write(queryParams StaDate);            Response Write( <br/>EndDate );            Response Write(queryParams EndDate);            cha138/Article/program/net/201311/12187

相关参考

知识大全 ASP.NET 窗体间传值实现方法

ASP.NET窗体间传值实现方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  假设Parent

知识大全 ASP.NET中页面传值的几种方法

ASP.NET中页面传值的几种方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!表单提交 

知识大全 ASP.NET跨页面传值技巧总结

ASP.NET跨页面传值技巧总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  QueryStr

知识大全 ASP.NET的几种页面传值方法

ASP.NET的几种页面传值方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用QueryS

知识大全 ASP.NET页面间的传值的几种方法[1]

ASP.NET页面间的传值的几种方法[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASP

知识大全 ASP.NET页面间的传值的几种方法

ASP.NET页面间的传值的几种方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNET

知识大全 ASP.NET实现页面传值的几种方法[1]

ASP.NET实现页面传值的几种方法[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第一种

知识大全 ASP.NET实现页面传值的几种方法[3]

ASP.NET实现页面传值的几种方法[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  下面的

知识大全 ASP.NET实现页面传值的几种方法[2]

ASP.NET实现页面传值的几种方法[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第五种

知识大全 ASP.NET实现页面传值的几种方法[4]

ASP.NET实现页面传值的几种方法[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用S