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的参数名。这样解决可以上面所提及的问题。

ASP.NET网页之间传递参数与值的更多相关文章

  1. ASP.NET 页面之间传递参数方法

    1.通过URL链接地址传递 (1) send.aspx代码 protected void Button1_Click(object sender, EventArgs e) { Request.Red ...

  2. ASP.NET页面之间传递值的几种方式(转载)

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

  3. ASP中页面之间传递值的几种方式

    ASP.NET页面之间传递值的几种方式 页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryS ...

  4. JS多个函数之间传递参数问题

    JS多个函数之间传递参数的一个重要思想是在页面定义一个隐藏域,当第一个函数请求到数据时候修改隐藏域的值,第二个函数用jQuery的选择器选择页面中隐藏域的值. 比如: 页面中定义一个隐藏的页号. &l ...

  5. ASP.NET jquery ajax传递参数

    第一种:GET传递 前台 ajax   GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: func ...

  6. mvc中view与controll之间传递参数时,可以使用url进行传递

    mvc中view与controller之间传递参数时,可以使用url进行传递,但是在url的地址中需要加上“id=123”这样的东西才行. 具体如代码: window.location.href = ...

  7. JSP页面之间传递参数的方法有哪些?

    JSP页面之间传递参数的方法有哪些? 解答: 1)request 2)session 3)application 4)提交表单 5)超链接

  8. XAML实例教程系列 - XAML传递参数到值转换类实例 八

    Kevin Fan分享开发经验,记录开发点滴 XAML实例教程系列 - XAML传递参数到值转换类实例 2012-06-28 05:25 by jv9, 508 阅读, 0 评论, 收藏, 编辑 继上 ...

  9. 深入理解python中函数传递参数是值传递还是引用传递

    深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是"传对象引用 ...

随机推荐

  1. Python 算法之二分查找

    二分查找 二分查找又称折半查找 优点是比较次数少,查找速度快,平均性能好 缺点是要求待查表为有序表,且插入删除困难 折半查找方法适用于不经常变动而查找频繁的有序列表. 猜数字游戏 1.生成一个有序列表 ...

  2. bae3.0第一步 添加框架支持

    1.克隆bae上应用代码: 先在本地linux机器上创建文件夹bae并进入, 再执行git clone https://git.duapp.com/appidd01iud80bg 结果会在bae文件夹 ...

  3. PHPExcel如何把该列的值设置为文本无科学计数?

                    $obj_sheet->setCellValueExplicit($cells[$_counter].$i, (isset($val[$_value_key]) ...

  4. QrCode C#生成二维码 及JavaScript生成二维码

    一 C#的二维码    示例: class Program { static void Main(string[] args) { QrEncoder qrEncoder = new QrEncode ...

  5. java从键盘输入数,分解质因数,

    总结:1.break;的用法 当最小质因数不能被输入的值整除时,需要继续循环.k++. 当然输入的数,本身就是质数时,那么 package com.b; import java.util.Scanne ...

  6. HDU 2544 最短路(邻接表+优先队列+dijstra优化模版)

    最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  7. 组装恢复rbd

    标签: ceph,ceph实验,rbd cluster相关环境: # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) # ce ...

  8. jdk中那些常见的类不能被继承的

    对于java中的类,如果是使用final修饰的话,那么这个类就不能够被继承,因为jdk的开发者认为,有一些最基本的类没要必要对开发者开放,如果用户 继承时操作有误,很可能引入很多问题.为了防止用户对基 ...

  9. c#学习之路---壁咚漏洞搜索

    每次出漏洞都会用JAVA去写,不过JAVA你懂得,写GUI每次画图很吃力. 于是左右学习了下c#,期间也得到表哥storm7kb的帮助,要不然这个表格与数据绑定不知道c#怎么弄. 上一下图吧: --- ...

  10. appium python版api

    打印上下文 driver.contexts 打印当前上下文 driver.context driver.current_context 切换上下文 driver.switch_to.context(' ...