zoukankan      html  css  js  c++  java
  • ASP.NET网页之间传递参数与值

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




  • 相关阅读:
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 833 字符串中的查找与替换(暴力模拟)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 832 翻转图像(位运算)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    Java实现 LeetCode 831 隐藏个人信息(暴力)
    how to use automapper in c#, from cf~
  • 原文地址:https://www.cnblogs.com/insus/p/3161960.html
Copyright © 2011-2022 走看看