2008-11-03 1 views
2

Например, у меня есть SqlDataSource, который загружает список элементов. В моей форме у меня есть 3 раскрывающихся списка, в которых оба должны содержать тот же список значений, а затем пользователь может выбрать другое значение для каждого и сохранить.Кто-нибудь знает способ «поделиться» источником данных, не вызывая нескольких обратных передач?

При подключении каждого выпадающего списка к тому же SqlDataSource база данных получает трижды - по одному для каждого объекта, который перечисляет его как источник данных. Если я удалю «автоматические» ссылки, которые вы найдете в интерфейсе SmartTag, мне все равно придется иметь код, который будет вызывать DataBind для каждого из списков combobox, что снова вызовет три вызова в базу данных.

Я думаю, я мог бы вернуть значения в список строк, которые храню в ViewState, но есть ли лучший способ?

ответ

2

Почему бы вам не включить кеширование для ваших источников данных?

+0

Прохладный - это, похоже, исправил его. Я думал, что он уже установлен, но я думаю, что это не так! Благодаря! – 2008-11-03 16:29:58

-1

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

+0

Эй, спасибо за ответ с дополнительной дозой отношения - вы, очевидно, бог кодирования. Вопрос в том, есть ли встроенный способ, которым Microsoft должна справиться с этим, вот и все. Вы ответили на вопрос с тем, что я уже сказал «в» вопрос .... – 2008-11-03 16:25:04

Смежные вопросы