|
|
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Такая ситуация: есть страница с MasterPage, на ней <asp:Content ID="" ContentPlaceHolderID="MainContent" runat="server"> <asp:UpdatePanel ID="UpdatePanel1" runat="Server" > <ContentTemplate> <myUC:MyUserControl ID="" runat="Server" AutoPostBack="true"> </myUC:MyUserControl> </ContentTemplate> </asp:UpdatePanel> </asp:Content> MyUserControl в свою очередь содержит Repeater: <div id="moorings_dialog"> <asp:Repeater id="mooringsRepeater" runat="server" > <HeaderTemplate> <table id="moorings_panels"> </HeaderTemplate> <ItemTemplate> <tr> /* Эта часть взята в качестве простого примера из msdn */ <td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td> <td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %> </td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </div> Все работает, отображается. Далее странность, пытаюсь на клиенте просмотреть сгенерированный html-код, а этого куска там вообще нет, т.е. вижу только: <div id="moorings_dialog"> /* А ЗДЕСЬ ПУСТО */ </div> Почему так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2011, 17:33:43 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
Выяснила, что сгенерированный html-код не обновляется после postback-события у UpdatePanel - а что это за явление такое, понять не могу, кто-нибудь может объяснить или где почитать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 13:45:25 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
есть такое? mooringsRepeater.DataSource= взять откуда то mooringsRepeater.DataBind(); во общем покажи код привязки данных к репитару ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 14:38:57 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
Привязка данных простенькая из примера msdn: ArrayList values = new ArrayList(); values.Add(new PositionData("Microsoft", "Msft")); values.Add(new PositionData("Intel", "Intc")); values.Add(new PositionData("Dell", "Dell")); Repeater1.DataSource = values; Repeater1.DataBind(); Т.е., например, если в UpdatePanel поместить кнопочку submit, а этот код инициализации репитера поместить в if (IsPostBack) { ... Repeater1.DataBind(); }, то на странице таблица появится, но вот в коде html ее не будет видно, может она где-то во viewstate зашивается, я просто этого механизма пока понять не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 15:31:42 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
я правильно понимаю что у вас Repeater1.DataBind() по нажатию кнопки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 15:42:04 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
brainproofя правильно понимаю что у вас Repeater1.DataBind() по нажатию кнопки? Да, т.е. при postback. Но в html-коде генерится только начальная инициализация. Хотя сама страница работает нормально. Вот например у меня еще есть страница, где в UpdatePanel размещен GridView с пэйджингом. Первая загрузка идет с первой страницы и в html-разметке я найду <table>... с соответствующими данными. Потом листаю на 2ю страницу, данные меняются, а в html-разметке по-прежнему видны данные из первой страницы. Почему так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 16:01:27 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
В книге в разделе Работа с UpdatePanel я читаю: ... то на этапе Render жизненного цикла страницы, произойдет генерация HTML-разметки только для содержимого компонента и эта разметка будет отправлена клиенту. Клиентская часть ASP.NET AJAX обработает полученный код и изменить разметку внутри div'а, соответствующего UpdatePanel. Но на практике я как-то этого не вижу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 16:04:47 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
это же очевидно.IsPostBack это флаг читаем http://msdn.microsoft.com/ru-ru/library/system.web.ui.page.ispostback.aspx убираем IsPostBack и будет счастье. советую почитать про модель событий в асп нет так как вижу что нет четкого понимания. по коду: у тебя не заходить изза флага в databind так как при инициализации страницы IsPostBack = false ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 16:08:02 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
Так мне так и надо, чтобы только при постбэке инициализировался, а не сразу. Это же просто упрощенный пример. Все работает (сама страница в браузере отображается корректно). Вопрос в том, почему после постбэка я вижу на странице табличку с данными, все как надо, НО, зайдя в html-разметку, в div-е (который updatepanel) ПУСТО???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 16:13:54 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
как смотрите html-разметку? через правую кнопку посмотреть исходный код или фаербаг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 16:18:17 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
brainproof, В IE - через правую кнопку посмотреть исходный код, в opera - Ctrl-F3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 16:19:30 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
дело в том что браузер получил хтмл страницу без вашего репитера ..вернее с ним но он пуст...а остальное догружается у вас UpdatePanel и правой кнопкой он покажет то что получил вначале..через фаербаг увидете или через f12 в ие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 16:28:52 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
brainproof, угу, правда, в отладчике все изменения видны. Ну, т.е. это стандартная ситуация? Пусть будет так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 16:34:34 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
да эт нормально. браузер же не знал изначально про репитор. я сам лично стараюсь отказываться от них по возможности..тяжелые они очень + вызывают все события страницы на сервере - это так отступление) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 16:39:02 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
brainproof, Да не в репиторе дело, как я понимаю, а в updatepanel. Любые изменения в updatepanel после постбэка уже в разметке не видны. Я же про GridView писала выше. Ну спасибо, а то я как то отладчиком не пользовалась пока, достаточно было видеть html-разметку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 16:44:22 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
brainproofда эт нормально. браузер же не знал изначально про репитор. я сам лично стараюсь отказываться от них по возможности..тяжелые они очень + вызывают все события страницы на сервере - это так отступление) какие интересные сведения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 19:21:33 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
ммм эт что троллинг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 09:12:25 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
brainproofммм эт что троллинг? Нет. Просто, Вы глупость написали. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 10:06:06 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
поясните в чем глупости? в том что updatepanel тяжелая и громоздкая вещь? или то что он вызывает все события page? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 10:10:52 |
|
||
|
Вопрос по Repeater
|
|||
|---|---|---|---|
|
#18+
brainproofвозможности.. тяжелые они очень + вызывают все события страницы на сервере вот это вот вызывает сомнения, но возможно. вы объясните, чем, по-вашему мнению, тяжел репитор и как он вызывает все события страницы на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 12:22:09 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37609001&tid=1360090]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
211ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 498ms |

| 0 / 0 |
