Повторитель в повторителе (wepapp на основе ajax) - PullRequest
2 голосов
/ 23 июня 2010

В качестве решения я не могу использовать методы обратной передачи, потому что все это работает через ajax. Решение должно быть реализовано в коде asp.net.

У меня есть List<WebPage>, который содержит список ссылок (List<Link>), и мне нужно, чтобы все ссылки связывали повторяющуюся информацию, такую ​​как заголовок страницы, идентификатор, URL-адрес. Вот мой текущий ретранслятор.

<div id="result">
    <asp:Repeater runat="server" id="results">
        <Itemtemplate>
            <asp:Repeater runat="server" datasource='<%# Eval("Links") %>'>
                <Itemtemplate>
                    <tr class="gradeX odd">
                        <td><%# Eval("Id") %></td> //property of WebPage (part of results repeater)
                        <td><%# Eval("Title") %></td> //property of WebPage (part of results repeater)
                        <td><%# Eval("Url") %></td> //property of WebPage (part of results repeater)
                        <td><%# Eval("URL") %></td>//Property of Link
                        <td><%# Eval("URLType") %></td> //Property of Link
                        <td><%# Eval("URLState") %></td> //Property of Link
                    </tr>
                </Itemtemplate>
                </asp:Repeater>
        </Itemtemplate>
    </asp:Repeater>
</div>

конечно, это не работает, как я могу это сделать?

Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 23 июня 2010

Попробуйте это:

DataBinder.Eval (((RepeaterItem) Container.Parent.Parent) .DataItem, "URL")

Ключ - вернуться обратно к родительскому элементу повторителя, а затем использовать метод eval.

0 голосов
/ 23 июня 2010

Не совсем на самом деле.У меня почти то же самое, но во внутреннем репитере источник данных установлен как DataSource='<%# GetLinks(Container.DataItem) %>'
, где GetLinks возвращает приведенное множество ссылок

.
...