Asp.net状态管理(八)

8  其他

8.1  QueryString

除了Cookie、Session、Application、Cache、HiddenField、ViewState、ControlState、Profile等重要状态机制外,ASP.NET还提供了一些其他的方法让我们暂时保存数据。

在很多时候我们希望跨页面传输数据,最常用的一个办法就是使用GET方式提交数据。也就是在URL中附加一段QUERYSTRING(类似 news.aspx?ID=1这样的效果),因此,有的时候我们不需要通过程序就能传输QUERYSTRING。不过,我们需要注意以下几点。

·      IE浏览器对URL长度限制在2083个字符内。由于QUERYSTRING是在URL中传输内容,所以也就受到了这个限制。

·      在URL中传输的数据都是明文的,而且客户端随时能修改,因此千万别使用QUERYSTRING传敏感数据。

·      在URL中传汉字或者一些特殊字符需要进行URL编码后传递,接收的时候再反编码,否则传递的数据可能会出现乱码或者被截断。

string s = "编程快乐!@#$%^&*()";

Response.Redirect(Request.Url.AbsolutePath+"?data="+HttpUtility.UrlEncode(s));

接收的时候:

if (Request.QueryString["data"] != null)

    Response.Write(HttpUtility.UrlDecode(Request.QueryString["data"]));

8.2  跨页提交

QUERYSTRING毕竟只能传输字符串,如果我们希望在一个页面中直接访问另外一个页面,可以使用ASP.NET 2.0的跨页提交功能。比如我们建立一个CrossPageSubmitTest.aspx页面,在任意页面建立一个按钮提交到CrossPageSubmitTest.aspx。

<asp:Button ID="btn_CrossPageSubmit" runat="server" OnClick="btn_CrossPageSubmit_

Click" PostBackUrl="CrossPageSubmitTest.aspx" Text="跨页面提交" />

然后在CrossPageSubmitTest.aspx的Page_Load中加入以下代码就能输出前一个页面上btn_CrossPageSubmit按钮的Text属性。

Response.Write((PreviousPage.FindControl("btn_CrossPageSubmit") as Button).Text);

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值