У меня есть приложение ASP.NET, которое отображает различные представления в обширной базе данных последовательностей белков. Когда посетитель просматривает данные, я бы хотел, чтобы он мог выбрать CheckBox в строке GridView, чтобы пометить последовательности для последующей загрузки в виде сжатого текстового файла. Я не хочу хранить выборки, поэтому они должны быть действительны для сеанса.
Моя идея сейчас заключается в том, чтобы добавить TemplateField в GridView, а затем добавить к нему CheckBox. Я намерен обработать события проверки и сохранить идентификаторы последовательности в состоянии сеанса. Когда пользователь отправляется на страницу загрузки, я получаю данные сеанса, отображаю список последовательностей, которые они собираются загрузить, и затем отправляю файл вместе. Очевидно, мне также придется повторно анализировать данные сеанса при каждом переключении загрузки / страницы формы.
Итак, у меня есть пара вопросов по этому поводу:
1) Я делаю слишком много работы? Есть ли более простой способ реализовать это?
2) Вероятно ли, что все обращения к серверу для состояния сеанса могут быть связаны с производительностью? Я могу поставить кнопку «Сохранить для загрузки» на странице, чтобы помочь ей. Обработка событий проверки кажется более терпимой к ошибкам, поскольку вы не можете случайно потерять свое состояние, если уйдете.
3) Можно ли отсортировать GridView по столбцу с установленным флажком? Я хотел бы сначала отсортировать по столбцу с установленным флажком, а затем по текущему столбцу (например, если GridView отсортирован по фамилии, по столбцу проверки, а затем по фамилии).
В случае, если это имеет значение, я использую C #, .NET 3.5, VS2008 и использую простой способ перетаскивания мышью для создания GridView из таблицы SQLServerExpress.