|
|
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
Друзья использую ajax-й combobox при выключении свойства EnableViewState не работает combobox. Но это и понятно, т.к. combobox содержит данные которые нужно выбирать. У меня проблема следующего рода, combobox содержит 100 записей и при trace.axd видно, что он занимает 50kb, со свойством EnableViewState=true, 100kb. А если на форме 3 и более combobox? Это катастрофа. Помогите оптимизировать страницу. Может есть другой элемент управления. Без combobox(у меня их 2 на странице), страница весит 36kb, с ними 236kb. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2009, 15:52:58 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
да 100 элементов много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2009, 16:01:00 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
Использование списка тоже ничего не дает. У меня список со статьями и их должно быть 100. Кто-нибудь знает решение данной проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2009, 10:39:53 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
Ну, а что мешает Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2009, 10:58:21 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
что значит ajax-й комбобокс? в смысле из тулкита? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2009, 12:31:06 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
Да из toolkita. А если вырубить EnableViewState=false, то значения при выборе нового значения из списка оно пустое. ComboBox.SelectedText и ComboBox.SelectedValue ничего не дает значения пустые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2009, 17:28:58 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
Встречный вопрос: каким образом и когда именно заполняется данными ваш комбобокс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2009, 19:37:53 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
В Page.Load: if (!Page.IsPostBack) { foreach(DataRow row in spisDataSet.Счета.Rows) { ListItem list = new ListItem(); list.Text = "---"; list.Value = "---"; ComboBox1.Items.Add(list); } ComboBox1.DataBind(); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 09:55:14 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
происходит следующее. ваш комбобокс заполняется данными из датасета при первой загрузке страницы. а дальше, при обратных отправках, данные берутся уже из состояния вида (при условии EnableViewState=true). А если вы его отключаете, то комбобокс пустой, но это и логично. Ведь его заполнение данными из бд происходит в вашем коде ТОЛЬКО при первой загрузке страницы. Вы можете сделать EnableViewState=false, и убрать условие if (!Page.IsPostBack), и тогда все будет работать. но в этом случае запрос к бд будет идти при каждой загрузке страницы. так что рекомендую здесь применить еще кеширование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 10:14:56 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
Т.е. Cashe.Insert("Table",Table) и при Page.Load подставлять значения из Cashe["Table"]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 13:56:25 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
ну да, типа того. ну а стратегию кеширования выбираете и реализуете вы, в зависимости от логики работы приложения. суть такая - при первом извлечении данных поместить их в кеш, а при все последующих запросах извлекать из кеша. ну вообще кеширование-обширная тема, почитайте литературку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 15:24:56 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
И все таки вопрос если данные будут браться из кэша то чтобы их вставить в combobox я должен вызвать databind(). А это отправка со 100 записями. И если не делать if (!Page.IsPostBack) { } будут постоянно гоняться данные. Какая должна быть стратегия кэширования подскажите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 16:27:51 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
Хотя я проверил сейчас трассировку при оптправке(post) страницы данные не передались. По крайней мере страница стала весить очень мало. Объясните, что отсылается при combobox.databind(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 16:37:20 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
Предлагаю откзаться от такого комбобокса (скорее всего он не ориентирован на такие объемы) и написать свой который более соответствует задаче (100 записей пользовтель все равно скорее всего одновременно не смотрит да в каждый из 3ч комбобоксов одновременно тоже). Ajax вполне позволяет подгружть данные динамически и тут уже объем страницы не актуален т.к. объем постепенно наращивается. Попробуйте посмотреть в сторону AjaxToolkit как источника идей и приемов работы. Еще можно просто перестроить интерфейс в сторону разгрузки под имеющиеся контролы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 16:40:28 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
JekaCher: Хотя я проверил сейчас трассировку при оптправке(post) страницы данные не передались. По крайней мере страница стала весить очень мало. Объясните, что отсылается при combobox.databind(). при вызове combobox.databind() происходит привязка данных. поэтому, помещение такого кода в событии загрузки страницы, обновит ваш список, и выбранное ранее значение будет потеряно. попробуйте сделать так,например. при выборе одного из пунктов этого списка,джаваскриптом заносите выбранный индекс в скрытое поле формы. а потом, после combobox.databind(), напишите код типа такого: combobox.SelectedIndex=hiddenField.Text; и вообще, учитывайте что этот тулкитовский комбобокс - это ведь фикция. на самом деле это комбинация текствого поля,кнопки,и div-а где отображается информация списка. кстати, думаю вам можно еще использовать AutoCompleteExtender. 2Tigritto. что значит "не предназначен", откуда такая информация? вы и правда думаете что человеку для данной цели проще свой контрол написать?:) 100 записей не так уж и много,плюс есть авподстановка по вводимым символам. вполне можно его использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 17:30:28 |
|
||
|
combobox и свойство EnableViewState
|
|||
|---|---|---|---|
|
#18+
Такой код в событии загрузки страницы сильно нагрузит приложение? spisDataSet.Счета.Merge(Cache["Счета"] as DataTable); foreach (DataRow row in spisDataSet.Счета.Rows) { ListItem list = new ListItem(); list.Text = ""; list.Value = ""; ComboBox1.Items.Add(list); } ComboBox1.DataBind(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2009, 18:29:57 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=36212549&tid=1360411]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
196ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 511ms |

| 0 / 0 |
