Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос по Repeater / 22 сообщений из 22, страница 1 из 1
30.12.2011, 17:33:43
    #37600516
masha2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
Здравствуйте. Такая ситуация: есть страница с 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>

Почему так?
...
Рейтинг: 0 / 0
30.12.2011, 19:33:20
    #37600585
Andrey1306
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
А привязка к данным asp:Repeater где ?

Может вместо asp:Repeater , ListView использовать ?
...
Рейтинг: 0 / 0
10.01.2012, 13:45:25
    #37607523
masha2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
Выяснила, что сгенерированный html-код не обновляется после postback-события у UpdatePanel - а что это за явление такое, понять не могу, кто-нибудь может объяснить или где почитать?
...
Рейтинг: 0 / 0
10.01.2012, 14:38:57
    #37607634
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
есть такое?
mooringsRepeater.DataSource= взять откуда то
mooringsRepeater.DataBind();

во общем покажи код привязки данных к репитару
...
Рейтинг: 0 / 0
10.01.2012, 15:31:42
    #37607747
masha2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
Привязка данных простенькая из примера 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 зашивается, я просто этого механизма пока понять не могу.
...
Рейтинг: 0 / 0
10.01.2012, 15:42:04
    #37607777
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
я правильно понимаю что у вас Repeater1.DataBind() по нажатию кнопки?
...
Рейтинг: 0 / 0
10.01.2012, 16:01:27
    #37607804
masha2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
brainproofя правильно понимаю что у вас Repeater1.DataBind() по нажатию кнопки?

Да, т.е. при postback. Но в html-коде генерится только начальная инициализация. Хотя сама страница работает нормально.
Вот например у меня еще есть страница, где в UpdatePanel размещен GridView с пэйджингом. Первая загрузка идет с первой страницы и в html-разметке я найду <table>... с соответствующими данными. Потом листаю на 2ю страницу, данные меняются, а в html-разметке по-прежнему видны данные из первой страницы. Почему так?
...
Рейтинг: 0 / 0
10.01.2012, 16:04:47
    #37607815
masha2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
В книге в разделе Работа с UpdatePanel я читаю:

... то на этапе Render жизненного цикла страницы, произойдет генерация HTML-разметки только для содержимого компонента и эта разметка будет отправлена клиенту. Клиентская часть ASP.NET AJAX обработает полученный код и изменить разметку внутри div'а, соответствующего UpdatePanel.

Но на практике я как-то этого не вижу...
...
Рейтинг: 0 / 0
10.01.2012, 16:08:02
    #37607820
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
это же очевидно.IsPostBack это флаг
читаем http://msdn.microsoft.com/ru-ru/library/system.web.ui.page.ispostback.aspx
убираем IsPostBack и будет счастье. советую почитать про модель событий в асп нет так как вижу что нет четкого понимания.
по коду: у тебя не заходить изза флага в databind так как при инициализации страницы IsPostBack = false
...
Рейтинг: 0 / 0
10.01.2012, 16:13:54
    #37607832
masha2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
Так мне так и надо, чтобы только при постбэке инициализировался, а не сразу. Это же просто упрощенный пример. Все работает (сама страница в браузере отображается корректно). Вопрос в том, почему после постбэка я вижу на странице табличку с данными, все как надо, НО, зайдя в html-разметку, в div-е (который updatepanel) ПУСТО????
...
Рейтинг: 0 / 0
10.01.2012, 16:18:17
    #37607837
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
как смотрите html-разметку? через правую кнопку посмотреть исходный код или фаербаг?
...
Рейтинг: 0 / 0
10.01.2012, 16:19:30
    #37607840
masha2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
brainproof,

В IE - через правую кнопку посмотреть исходный код,
в opera - Ctrl-F3
...
Рейтинг: 0 / 0
10.01.2012, 16:28:52
    #37607865
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
дело в том что браузер получил хтмл страницу без вашего репитера ..вернее с ним но он пуст...а остальное догружается у вас UpdatePanel и правой кнопкой он покажет то что получил вначале..через фаербаг увидете или через f12 в ие
...
Рейтинг: 0 / 0
10.01.2012, 16:34:34
    #37607877
masha2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
brainproof,

угу, правда, в отладчике все изменения видны. Ну, т.е. это стандартная ситуация? Пусть будет так...
...
Рейтинг: 0 / 0
10.01.2012, 16:39:02
    #37607883
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
да эт нормально. браузер же не знал изначально про репитор. я сам лично стараюсь отказываться от них по возможности..тяжелые они очень + вызывают все события страницы на сервере - это так отступление)
...
Рейтинг: 0 / 0
10.01.2012, 16:44:22
    #37607900
masha2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
brainproof,

Да не в репиторе дело, как я понимаю, а в updatepanel. Любые изменения в updatepanel после постбэка уже в разметке не видны. Я же про GridView писала выше. Ну спасибо, а то я как то отладчиком не пользовалась пока, достаточно было видеть html-разметку.
...
Рейтинг: 0 / 0
10.01.2012, 19:21:33
    #37608131
Zoria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
brainproofда эт нормально. браузер же не знал изначально про репитор. я сам лично стараюсь отказываться от них по возможности..тяжелые они очень + вызывают все события страницы на сервере - это так отступление)
какие интересные сведения...
...
Рейтинг: 0 / 0
11.01.2012, 09:12:25
    #37608659
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
ммм эт что троллинг?
...
Рейтинг: 0 / 0
11.01.2012, 10:06:06
    #37608708
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
brainproofммм эт что троллинг?
Нет. Просто, Вы глупость написали. :)
...
Рейтинг: 0 / 0
11.01.2012, 10:10:52
    #37608712
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
поясните в чем глупости? в том что updatepanel тяжелая и громоздкая вещь? или то что он вызывает все события page?
...
Рейтинг: 0 / 0
11.01.2012, 12:22:09
    #37608989
Zoria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
brainproofвозможности.. тяжелые они очень + вызывают все события страницы на сервере
вот это вот вызывает сомнения, но возможно. вы объясните, чем, по-вашему мнению, тяжел репитор и как он вызывает все события страницы на сервере.
...
Рейтинг: 0 / 0
11.01.2012, 12:26:22
    #37609001
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Repeater
блин я пропустил слово там updatepanel ... слова относились к updatepanel. теперь понял косяк.я уж думал моя религия не верна.пардон
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вопрос по Repeater / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]