参考:  http://tech.ddvip.com/2009-04/1240487173116514.html

除了常用的Get,Post,Session,Application等页面间可传递参数的方法,还有新的方法,这应该是Asp.net独有的吧
B页面取A页面的值
页面A代码

Code
public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public string F
    {
        get { return this.TextBox1.Text.ToString(); }
        set { this.TextBox1.Text = value; }
    }

    public string M
    {
        get { return this.TextBox2.Text.ToString(); }
        set { this.TextBox2.Text = value; }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Server.Transfer("Default2.aspx");
        // 注意下,地址栏没变
        //用Response.Redirect不行……
        //Response.Redirect("Default2.aspx");
        //这的解释http://topic.csdn.net/t/20051227/21/4484983.html       
    }
}

页面B的代码

Code
public partial class Default2 : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {    
        Default s;
        if (Context.Handler is Default)
        
            s = (Default)Context.Handler;
            Label1.Text = s.F + "---"+ s.M;
        }       
    }
}

  应该注意到,页面Default.aspx.cs本身就是一个类,这样的话可以在页面二中直接使用这个类,将页面一需要传递的参数
封装一下,供外界访问

一个页面接受多个页面传递的参数,对结果统一处理
1.新建参数类及接

Code
/**//// <summary>
///QueryParams 的摘要说明
/// </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;}
}

2.多个页面中要继承该接口

Code
public partial class Default3 : System.Web.UI.Page,IQueryParams
{
    private QueryParams param;
    public QueryParams Parameters
    {
        get
        {
            return param;
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
       
       
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        param = new QueryParams();
        param.StaDate = this.TextBox1.Text.ToString();
        param.EndDate = this.TextBox2.Text.ToString();
         Server.Transfer("Default4.aspx");
    }
}

3.别的页面同样处理
4.统一处理页面

Code
public partial class Default4 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        QueryParams queryParams = new QueryParams();
        IQueryParams queryInterface;
        //实现该接口的页面
        //与Default2.asp相比,主要是Context.Handler的类型不同
        if (Context.Handler is IQueryParams)
        {
            queryInterface = (IQueryParams)Context.Handler;
            queryParams = queryInterface.Parameters;
        }
        Label1.Text = "StaDate:" + queryParams.StaDate + "<br/>EndDate:" + queryParams.EndDate;
       
    }
}

注意下“Response.Redirect(url)和Server.Transfer(url)的用法”是不同的……
还有“Context.Handler”

源代码下载/Files/hsrzyn/MyWebSite.rar

转载于:https://www.cnblogs.com/hsrzyn/archive/2009/10/06/1578300.html

Asp.net页面之间传“大量的参数”相关推荐

  1. Asp.net页面之间传递参数的几种方法

    Asp.net页面之间传递参数的几种方法 第一种方法: 通过URL链接地址传递Request.QueryString send.aspx:    protected void Button1_Clic ...

  2. jsp页面之间传中文参数显示乱码问题的解决

    jsp页面之间传中文参数显示乱码问题的解决 参考文章: (1)jsp页面之间传中文参数显示乱码问题的解决 (2)https://www.cnblogs.com/sllzhj/p/9673628.htm ...

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

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

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

    对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有3-5年经 ...

  5. 经典面试题(三):ASP.NET部分----ASP.NET 页面之间传递值的几种方式

    ASP.NET 页面之间传递值的几种方式 1.使用QueryString,  如....?id=1; response. Redirect().... 2.使用Session变量. 3.使用Serve ...

  6. Asp.net页面之间传递参数的几种方法荟萃

    第一种方法: 通过URL链接地址传递  send.aspx:   protected void Button1_Click(object sender,EventArgs e)     {       ...

  7. 关于页面之间传参时有空格,中文及点击页面后退按钮的问题

    今天心情不错,解决了一些小bug,然后要进行下小总结了..... 首先说这页面间传参,有时传的参数是带有空格的比如一小部分sql语句,怎么办呢? 两种解决方案:1.当进行form表单提交时,用隐藏术 ...

  8. 在两个ASP.NET页面之间传递变量【转】

    ASP.NET提供了事件驱动编程模型,使开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,在传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递变量,同样的事情,在 ...

  9. 在两个ASP.NET页面之间传递值

    引言 ASP.NET提供了卓越的事件驱动编程模型,让开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,使用传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递值,同 ...

  10. html页面之间传参乱码,急求教,在两个htm页面传参数时中文出现了乱码,试了网上的方法不管用。_html/css_WEB-ITnose...

    js html java开发 中文乱码 Dialog = $.ligerDialog.open({url:"plot.htm?examCourse="+examCourse+&qu ...

最新文章

  1. UITableView数据的添加、删除、移动
  2. 马斯克受罚离任董事长,默多克之子或将成接替者!
  3. VSS2005下载地址
  4. 运维-nginx +php 错误状态码说明
  5. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数
  6. 无法嵌入互操作类型 请改用适用的接口。
  7. 046_byte的值在计算机中的表示
  8. 注意力机制在softmax时需要除以一个根号8的作用
  9. 从1~N中任选出三个数,最小公倍数最大
  10. 给MVC中的V设计一个框架
  11. 谈谈为什么我们需要云原生架构?
  12. 工作176:表单重置
  13. atomikos   log already in use
  14. Centos 的安装(2)
  15. 【python】Python的基本数据类型以及运算符的练习题
  16. Android 解压zip文件
  17. 从远程库克隆(转载)
  18. html 手机底部广告,手机网站被UC浏览器强制嵌入推荐广告解决方案
  19. matlab trangle,Triangle-of-Point-Cloud Matlab 三维点云三角化 不是平面域的三角化 是三维点云三角化 亲身测试绝对可用! - 下载 - 搜珍网...
  20. java中特殊符号怎么校验_校验中文、空格和特殊符号的方法

热门文章

  1. Mac触发角(Hot Corners) 进阶技巧
  2. 如何使用Wondershare UniConverter应用效果并调整音量
  3. macOS的Fn键实用技巧
  4. 抖音网红mac桌宠Desktop Goose呆头鹅的使用教程
  5. SpringBoot 实战 (二) | 第一个 SpringBoot 工程详解
  6. TIPS:My导入数据中文乱码解决方案
  7. Excel中index和match函数的应用实例
  8. QuickHit游戏
  9. Eclipse中最有用的快捷键组合
  10. 程序员写三十行代码,被应届生怼:我能三行搞定!也配叫程序员?