引言
在 ASP.NET Web 应用开发中,页面间的数据传递是高频需求。无论是电商网站的购物车跳转、多步骤表单的流程控制,还是后台系统的筛选条件共享,都需要高效可靠的数据传递方案。本文将全面解析 ASP.NET 中 8 种主流传值方式,通过代码示例、性能对比和场景分析,助你选择最佳实现方案。
一、QueryString:轻量级 URL 传参
原理
通过 URL 附加参数传递数据,适合简单非敏感信息。
示例代码:
csharp
复制
// 传值页面
Response.Redirect("TargetPage.aspx?userID=1001&name=Alice");
// 接收页面(TargetPage.aspx)
string userID = Request.QueryString["userID"];
string name = Request.QueryString["name"];
特点
- ✅ 优点:实现简单,支持跨页面直接访问
- ❌ 缺点:数据明文暴露,长度受限(URL 最长 2048 字符)
- 🔥 适用场景:分页参数、搜索关键词传递
二、Session:会话级数据存储
原理
利用服务器会话状态存储用户级数据,生命周期为整个用户会话。
示例代码:
// 传值页面
Session["CartItems"] = new List<int> {
101, 205, 308 };
// 接收页面
List<int> cartItems = (List<int>)Session[