跨多个页面传递参数

时间:2014-09-05 08:30:02

标签: c# asp.net parameters get parameter-passing

这是一个非常通用的问题,但就我而言,我正在使用ASP和C#。我有以下情况:

第1页:

两个html选择,包括类nameSelectsurnameSelect。当用户更改这些选项中的任何一个时,我将该值放在名为hfNamehfSurname的隐藏字段中。然后当我点击一个可以进入详细视图的按钮时,我会生成带有javascript的链接并通过GET传递&name=111&surname=222

第2页:

我已经知道可以在此页面上传递哪些参数,因此我有两个隐藏字段:hfNamehfSurname。我从GET中检索值,如果用户带着面包屑返回,我会使用&name=111&surname=222将用户发送回上一页,这会自动将选择设置为之前的值。

正常情况:

在正常情况下,不会使用namesurname作为内容的参数,因此参数不是问题。如果第2页还有两个名为nameSelectsurnameSelect的选项,那么这不是问题。用户可以在第2页上更改这些值,当我返回到第1页时,可以更新值,例如到333444

问题:

当我必须同时传递多个name版本时,会出现主要问题。如果第2页是人员列表,则会发生这种情况,因此单击某行可能需要传递name参数(请记住这是一个示例)。这意味着如果我返回到第1页,将设置name值,但不是因为我从select中选择了它,而是因为我点击了第2页上的按钮。这是不正确的,因为{{1的范围单击行中的按钮时,参数仅在详细信息页面内(第3页)。

可能的解决方案

我想到的第一个解决方案是在不用于内容的参数之前添加关键字,例如namefilterName。这会产生问题,因为我有时会希望在内容中使用filterSurname / name值。如果我进行混合并且有时只放surnamefilterName那么它就变得非常难以管理,因为我有许多不同名称的不同参数。

我在这里缺少一些非常明显的解决方案,或者是否真的不可能让系统变得比我已经制作的更简单?

由于

1 个答案:

答案 0 :(得分:0)

正如评论中所提到的,我将创建一个具有默认设置的类并将其保存到会话中,然后从此处开始我将检查会话数据,如果它不存在则将其设置为新类,如果它确实使用会话中的值。

获取或发布并不重要。我只是在页面加载上有代码加载类,然后通过get或post变量更新类,然后将其保存回会话。