建议在会话中存储Gridview搜索结果吗?

建议在会话中存储Gridview搜索结果吗?,gridview,asp.net-3.5,session-variables,Gridview,Asp.net 3.5,Session Variables,早上好 我创建了一个ASP.NET 3.5网络表单,允许用户搜索明细表。两个文本框控件向存储过程提供输入参数。gridview从存储过程返回搜索结果 我对gridview进行了增强,在gridview的页脚中添加了一个模板字段,其中包含一个用于数量的文本框,以及一个按钮控件,用于向报价请求添加零件(带有数量) 用户可以搜索钉子和锤子,选择钉子并输入25个数量,然后选择一个数量为1的锤子。必须保留这些项目和数量,以便在报价过程中使用 问题:根据我的场景,您是否建议在会话中存储gridview数量、

早上好

我创建了一个ASP.NET 3.5网络表单,允许用户搜索明细表。两个文本框控件向存储过程提供输入参数。gridview从存储过程返回搜索结果

我对gridview进行了增强,在gridview的页脚中添加了一个模板字段,其中包含一个用于数量的文本框,以及一个按钮控件,用于向报价请求添加零件(带有数量)

用户可以搜索钉子和锤子,选择钉子并输入25个数量,然后选择一个数量为1的锤子。必须保留这些项目和数量,以便在报价过程中使用

问题:根据我的场景,您是否建议在会话中存储gridview数量、零件名称等?如果没有,保存这些项目以供报价过程中稍后使用的最佳方法是什么

谢谢,
Sid

当显示gridview时,即您渲染它时,我会将详细信息保留在该页面上。当您离开该页面继续订购过程时,我可能会将它们存储在会话中,或者将它们保存在页面上的隐藏区域中

原因是会话在每个页面请求上都会加载,因此您不希望在会话中保留信息的时间最短


如果用户使用浏览器的“后退”和“前进”按钮,会使应用程序更加复杂,那么预期的结果会是什么。考虑,他们增加了钉子,然后锤子,然后点击后退按钮,在他们添加弹药之前,然后添加螺丝刀。点什么菜?钉子、锤子和螺丝刀?还是钉子和螺丝刀?因此,如果可能,将数据保留在页面上是好的,因为如果用户后退,订单状态也会后退。不过要小心,您不想在页面中添加太多内容,以致ViewState扩展太多,所以请注意,如果您不需要,请将其关闭。

我认为使用会话没有问题,因为这听起来不像是一个繁重的应用程序。 您唯一可以做的另一件事是使用数据库并将其作为临时行存储在数据库中。你不需要的时候就得把它扔掉


您唯一能做的另一件事就是缓存它。

我考虑添加另一个页面控件,当用户单击“添加到报价”按钮时,该控件将被填充。这样做有两件事:1)保持只允许20个部件(行项目)的业务逻辑。2) 提醒用户已选择的项目。如果我这样做了,作为一个可见控件,什么类型的控件是可取的?