当前位置:  编程技术>.net/c#/asp.net

asp.net页面间传递大量数据的方法

    来源: 互联网  发布时间:2014-08-30

    本文导语:  有关在asp.net页面间传递大量数据的方法,网上也是众说纷云,到底要相信谁呢? 本文以实例的方式,为大家引入如何在asp.net页面间传递大量数据(数据表)的方法,有需要的朋友可以参考下。 1、使用Cache 从A.aspx传到B.aspx。那么...

有关在asp.net页面间传递大量数据的方法,网上也是众说纷云,到底要相信谁呢?
本文以实例的方式,为大家引入如何在asp.net页面间传递大量数据(数据表)的方法,有需要的朋友可以参考下。

1、使用Cache
从A.aspx传到B.aspx。那么如果有两个用户都会访问A,那你的数据是否要做到不会影响到不同的客户端?
如果是这样的话,那么你存储的地方势必不能用Cache(必须区分客户端),只能用Session, Cookies, ViewState, QueryString, Form等方法。

第二个条件:如果不止一个页面要做这个操作,比如A.aspx和B.aspx都需要传递“大量数据”给C.aspx,那么你如果存在Session里,又不能使之互相覆盖。所以如果是少量数据,比如只是一个数字,那么用ViewState, QueryString, Form都可以,只是他们需要多一趟往返于服务器和客户端。而象你这样大量数据的话,QueryString估计是不能用了。而ViewState其实也是Form。

(2)使用Server.Transfer方法
面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。

下面的代码展示了在需要很多个参数时使用的方法,参数较少时就没有必要了。

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

1、定义一个类,放置所有查询参数:
 

代码示例:
/**////
/// QueryParams 的摘要说明
///
public class QueryParams
{
private string firstName;
private string lastname;
private int age;
public string Firstname
{
get { return this.firstname; }
set { this.firstname = value; }
}
public string LastName
{
get { return this.lastname; }
set { this.lastname = value; }
}
public string Age
{
get { return this.age; }
set { this.age = value; }
}
}

2、接口定义:
 

代码示例:
/**////
/// 定义查询接口。
///
public interface IQueryParams
{
/**////
/// 参数
///
QueryParams Parameters { get;}
}

3、查询页面继承IQueryParams接口(QueryPage.aspx):
 

代码示例:







QueryPage.aspx.cs
public partial class QueryPage : System.Web.UI.Page, IQueryParams
{
private QueryParams queryParams;
public QueryParams Parameters
{
get
{
return queryParams;
}
}
public void btnEnter_Click(object sender, System.EventArgs e)
{
//赋值
queryParams = new QueryParams();
queryParams.FirstnName = this.txtFirstName.Text;
queryParams.Lastname = this.txtLastName.Text;
queryParams.Age = this.txtAge.Text;
Server.Transfer( "ResultPage.aspx ");
}
protected void Page_Load(object sender, EventArgs e)
{ }
}

4、接收页面(ResultPage.aspx):ResultPage.aspx.cs
 

代码示例:
public partial class ResultPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
QueryParams queryParams = new QueryParams();
IQueryParams queryInterface;
//实现该接口的页面
if (Context.Handler is IQueryParams)
{
queryInterface = (IQueryParams)Context.Handler;
queryParams = queryInterface.Parameters;
}
Response.Write("FirstName: ");
Response.Write(queryParams.FirstName);
Response.Write("
Lastname: ");
Response.Write(queryParams.LastName);
Response.Write("
Age: ");
Response.Write(queryParams.Age);
}
}

建议大家将上面的例子,自己在vs中编辑,调试下,如果有模拟的压力测试环境,当然更好了,可以更直观地测试asp.net页面间传递大量数据。
,专心为您。


    
 
 

您可能感兴趣的文章:

  • 解决asp.net ajax格式传递数据乱码的问题
  • 请问ASP如何和APPLET动态的传递变量?40分送上。
  • asp.net url传递中文的解决方法
  • ASP.NET MVC后台向前台传递多个对象、表的方法
  • ASP.NET url传递中文乱码的解决方法
  • ASP.NET传递中文参数的一些问题的解决方法
  • asp.net页面间数据传递方法详解
  • asp.net不同页面间数据传递的多种方法
  • asp.net MVC进阶学习---View和Controller之间的数据传递(一)
  • 设置ASP.NET页面的运行超时时间详细到单个页面及站点
  • asp.net页面与页面之间传参数值方法(post传值和get传值)
  • ASP.NET 页面中加添加用户控件的写法
  • asp.net防止页面重复提交(示例)
  • asp.net页面防止重复提交示例分享
  • 在jsp 中如何实现像asp 中的页面弹出式的菜单
  • asp.net 参数不同共用一个页面的实现方法
  • Asp.Net其他页面如何调用Web用户控件写的分页
  • 如何在ASP的frame框架中屏蔽右键,以防止查看页面的源代码?
  • asp.net显示页面执行时间
  • 有终止jsp页面的继续执行的命令么?(类似于asp中resonse.end())
  • ASP.NET对HTML页面元素进行权限控制(一)
  • asp.net防止页面刷新重复提交的代码
  • 我用asp.net做一个聊天室,各位有没有好的页面刷新办法?
  • asp.net输出重写压缩页面文件的实例
  • asp.net 清除IE页面缓存的方法
  • ASP.NET页面按钮单击事件失效的解决方法
  • ASP.Net中表单POST到其他页面的方法分享
  • oracle iis7站长之家
  • asp.net页面中时间格式化的示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • asp.net UrlEncode对应asp urlencode的处理方法
  • asp.net post方法中参数取不出来的解决方法
  • Linux平台下哪种方法实现ASP好?
  • asp.net 禁用viewstate(web.config中配置)的方法
  • c#(asp.net)接收存储过程返回值的方法
  • asp.net 超时设置的方法介绍
  • ASP.NET使用Subtract方法获取两个日期之间的天数
  • asp.net获取url地址的方法
  • iis8.5显示ASP的详细错误信息500 内部服务器错误解决方法
  • asp.net Control控件常用的属性与方法
  • ASP.NET 回发密码框清空问题处理方法
  • Asp.net防止重复提交的实现方法
  • 重新注册asp.net 2.0的方法
  • asp.net防止后退与重复提交表单的简单方法
  • asp.net Session丢失的解决方法
  • asp.net ajax时用alert弹出对话框与验证控件冲突的解决方法
  • IIS7配置ASP详细错误信息发送到浏览器显示的方法
  • iis支持asp.net4.0的注册命令使用方法
  • asp.net动态添加非标准html控件的方法
  • 请问在jsp中有没有类似于asp中的server.Mappath获得绝对路径的方法啊?
  • ASP.NET之 Ajax相关知识介绍及组件图
  • 我想了解一些关于Java怎样与Asp或Asp.net结合方面在未来发展方向的问题?
  • c#/ASP.NET操作cookie(读写)代码示例
  • asp.net实例 定义和使用asp:AccessDataSource
  • win2008 r2 服务器环境配置(FTP/ASP/ASP.Net/PHP)
  • asp与asp.net的session共享
  • 如何在unix下发布asp?
  • 怎么让Apache支持Asp?
  • ??谁能把ASP代码改为JSP的
  • ASP和ASP.Net共享Session解决办法
  • 通过socket和asp打交道


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3