ASP.NET网页之间传递参数与值

本文介绍了一种在ASP.NET应用程序中使用Session对象在不同网页间传递参数的方法。通过创建一个静态方法和扩展方法,实现了参数的有效管理和传递,并且通过实例演示了具体的使用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ASP.NET网页之间传递参数与值,方法很多,可以使用Application,Cookie,Session,或是Querystring等等。
由于Insus.NET开发的程序中,多数是在后台之间进行参数与值传递,因此很少使用Querystring,而是使用Session。Session? 我也会。 是的,使用Session进行传递参数与值,懂开发的程序员都会。

使用Session传递网页之间的参数与值,可以做到轻微量级或是轻量级。

为了参数与值方便进行管理,Insus.NET会把这些存放一个集合内,时行传递。 在专案中,会创建一个类别。



上图中,20#代码,是一个静态方法,它有两个参数,一个是Dictionary<object,object>和一个string url。参数集合将被存入Session来传递,而url是目标网页的地址。就是这样简单。

而30#和32#行代码,那是一个扩展方法。是判断参数集合在添加参数时是否已经存在,存在的话,只是修改参数据值即可。

这样子就行了。

来演示一下吧。在网站点创建两个网页,PageA.aspx和PageB.aspx. 前者在用户点一点铵钮或某一事件处理完毕,把一些参数传至另外一个页面,而后者,是接收参数,再进行其它逻辑处理。

在PageA.aspx拉一个铵钮Button.




这些不是重点,重点在Button的Click事件中:


在pageB.aspx.cs接收参数:



第15,16行代码,如果用户直接在地址栏上输入.../PageB.aspx的话,网页会被导向PageA.aspx,也就是说,第一次不能直接访问PageB.aspx,而是需要先从PageA.aspx点击了铵钮之后,才可以进入pageB.aspx.

看看演示,演示是把源网页的路径传至目标网页中。

 

另外一个需要注意的是Session["TransferObject"]的名称"TransferObject"需要和最初创建一个类别InsusBase.TransferParameter()方法内的session名称相同。
是否有改善的地方,让在开发时,不必记住这样多session参数名呢?方法是有的。下面就是Insus.NET需要解决的地方。

打开InsusBase.cs类别,分三步实现:

 
在接收参数的网页,使用静态的属性来替代session以及session的参数名。这样解决可以上面所提及的问题。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值