转:在ASP.NET中在不同页面间进行数据传递有哪些方法
搜的,网络很强大的
1. Get(即使用QueryString显式传递)
方式:在url后面跟参数。
特点:简单、方便。
缺点:字符串长度最长为255个字符;数据泄漏在url中。
适用数据:简单、少量、关键的数据。
适用范围:传递给自己、传递给另一个目标页面;常用于2个页面间传递数据。
用法:例如:url后加?UserID=…,跳转到目标页面,目标页面在伺服端可用Request.QueryString["InputText"]获取其指定参数值。
2. Post
方式:通用的方式。利用form提交。
特点:最常用的方法。常用技巧是把隐秘的数据存在隐藏域中由form提交。
适用数据:大量数据,包括文件上传。
适用范围:同Get方法
用法:在客户端form指定action目标后submit、在asp.net的伺服端中使用server.Transfer(url)提交;在伺服端中用Request.Form["FormFieldID"]获取。
3. 页面对象的属性
方式:asp.net特有方式 。利用HttpContext获取发请求的页面的信息。
特点:可以直接存储对象。
缺点:注意强制转换的类型要正确。
适用数据:各种数据。
适用范围:页面之间传递复杂数据。
用法:获取Context.Handler将其转换为发请求的页面的实例,随后就可以轻松访问其form中的字段、甚至属性。其中的Context是指HttpContext对象,Handler是其属性,Context.Handler的意思可以理解为创建源页类的实例变量,而得到此实例之后,就可以直接访问其中的属性和Public方法了。
4. cookie
方式:将数据存在客户端的经典方法。
缺点:安全性低、受客户端设置限制、一个站点仅存20个cookie,每个容量4096字节。
有效期:自定义或被用户清除
适用数据:用户的会话数据(一般是用户名,用户的个性化设置信息等)
适用范围:单个用户、整个站点所有页面
用法:引用Request
相关文档:
1. aspx页面端代码:
<div class="gv-footer">
<asp:LinkButton ID="btFirstPage" runat="server" CommandArgument="first" OnClick ="PagerButton_Click">首页</asp:LinkButton>
<asp:Lin ......
在部署水晶报表时主要遇到支持组件的问题。
首先,需要在服务器上需要安装“CRRedist2008_x86.msi”和汉化包“CRRedist2008_x86_chs.msi”。
vs.net 2008,在这个目录
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5
vs.net 2005,在这个目录
C:\Progr ......
本系列文章通过一个虚拟的案例——《MVC公告发布系统》的开发过程,全面展示了ASP.NET MVC的基本使用方法,同时在讨论了这个框架的基本原理。
这个文章系列的目的就是使朋友们更轻松的入门ASP.NET MVC。
这个系列会包含的内容有:ASP.NET ......
页面导出Excel时,常用的直接RenderControl的方法,如果表格中有数字,在Excel中往往格式会乱,比如前面有0,但显示出来后0都被去掉了。
因此要在绑定数字的时候,手动指定一下此列的格式,让数字以文本方式显示就行了
protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
......