Целесообразно ли хранить результаты поиска Gridview в сеансе? - PullRequest
0 голосов
/ 30 марта 2010

Доброе утро,

Я создал веб-форму ASP.NET 3.5, которая позволяет пользователям выполнять поиск по списку деталей. Два элемента управления textbox предоставляют входные параметры для хранимой процедуры. Вид сетки возвращает результаты поиска из хранимой процедуры.

Я расширил вид сетки, включив в него поле шаблона с текстовым полем для Количество, а также элемент управления в нижнем колонтитуле сетки, который будет использоваться для добавления деталей (с количеством) в запрос предложения.

Пользователь может найти гвоздь и молоток, выбрать гвоздь и ввести количество 25 и выбрать молоток с 1 количеством. Эти позиции и количества должны быть сохранены для использования в процессе цитаты.

Вопрос: Учитывая мой сценарий, советуете ли вы хранить значения вида сетки, имя детали и т. Д. В сеансе? Если нет, каков наилучший способ сохранить эти элементы для последующего использования в процессе цитаты?

Спасибо, Sid

Ответы [ 2 ]

1 голос
/ 30 марта 2010

Я не вижу проблем с использованием сессии, так как это не похоже на тяжелое приложение. Единственное, что вы можете сделать, это использовать базу данных и сохранить ее как временную строку в базе данных. Вам придется избавиться от этого, когда вам это не нужно.

Единственное, что вы можете сделать, это кэшировать его.

1 голос
/ 30 марта 2010

Пока отображается сетка, то есть вы ее визуализируете, я бы сохранил подробности на этой странице. Когда вы сойдете с этой страницы, чтобы продолжить процесс заказа, я, вероятно, сохраню их в сеансе или оставлю на странице в скрытой области.

Причина этого в том, что сеанс загружается при каждом запросе страницы, поэтому вы не хотите хранить информацию в сеансе в течение кратчайшего необходимого времени.

Чтобы еще больше усложнить ваше приложение, если пользователь использует кнопки браузера назад и вперед, то каков будет ожидаемый результат. Подумайте, они добавили гвозди, а затем молоток, затем они нажимают кнопку «назад», чтобы до того, как они добавили аммер, а затем добавили отвертку. Какой заказ? гвозди, молоток и отвертка? или гвозди и отвертка? Таким образом, хранение данных на странице, если это возможно, хорошо, потому что, если пользователь отступает, состояние заказа тоже. Однако, будьте осторожны, вы не хотите добавлять на страницу так много, что ViewState слишком сильно расширяется, поэтому следите за этим и отключайте его, если он вам не нужен.

...