在多个页面之间传递参数
本文关键字:参数 之间 | 更新日期: 2023-09-27 18:20:41
这是一个非常普通的问题,但在我的情况下,我使用的是ASP和C#。我有以下情况:
第1页:
两个html选择,都具有类nameSelect
、surnameSelect
。当用户更改其中任何一个选择时,我会将值放入一个名为hfName
和hfSurname
的隐藏字段中。然后,当我点击一个可以进入详细视图的按钮时,我用javascript生成链接,并通过GET传递&name=111&surname=222
。
第2页:
我已经知道哪些参数可以在这个页面上传递,所以我有两个隐藏字段:hfName
和hfSurname
。我从GET中检索值,如果用户返回面包屑,我会使用&name=111&surname=222
将用户发送回上一页,并将选择自动设置为以前的值。
正常情况:
在正常情况下,第2页不会使用name
或surname
作为内容的参数,因此这些参数不是问题。如果第2页也有两个名为nameSelect
和surnameSelect
的选择,这不是问题。用户可以在第2页上更改这些值,并且当我返回到第1页时,这些值可以更新为例如333
和444
。
问题:
当我必须同时通过多个版本的name
时,就会出现主要问题。如果第2页是人员列表,则可能发生这种情况,因此单击一行可能需要传递name
参数(请记住,这是一个示例)。这意味着,如果我返回到第1页,name
值将被设置,但不是因为我从选择中选择了它,而是因为我单击了第2页上的按钮。这是不正确的,因为单击行中的按钮时name
参数的范围仅在详细信息页(第3页)内。
可能的解决方案
我想到的第一个解决方案是在不用于内容的参数(例如filterName
和filterSurname
)之前添加一个关键字。这就产生了它自己的问题,因为我有时希望在内容中使用name
/surname
值。如果我进行混合,有时只放入filterName
和surname
,那么管理起来就会变得非常困难,因为我有很多不同的参数和不同的名称。
我在这里是否缺少一些非常明显的解决方案,或者是否真的不可能使系统比我已经制定的更简单?
感谢
如注释中所述,我将创建一个具有默认设置的类,并将其保存到会话中,然后从现在开始,我将检查会话数据,如果它不存在,则如果它使用会话中的值,则将其设置为新类。
获取或发布并不重要。然后,我只需要在页面加载上加载代码,加载类,然后通过get或post变量更新类,然后将其保存回会话。