У меня есть хранимая процедура, которая возвращает смесь простых столбцов и один «столбец» типа данных xml. Как в:
Select
Field1,
Field2,
(
SELECT
Certification As '@certification',
LCID As '@lcid'
FROM
dbo.MemberCertifications
FOR XML PATH('certification'), TYPE, ROOT('certifications')
) AS Certifications
FROM
.......
Я связываю этот результат с gridview, и мне нужно, чтобы столбец xml был привязан к вложенному повторителю, так как он содержит данные parent-child.
Я попытался установить для источника данных повторителя имя столбца, например:
<asp:Repeater ID="rp" runat="server" DataSource="<%# Eval("Certifications") %>">
<ItemTemplate>
<%#XPath("//@certification")%>
</ItemTemplate>
</asp:Repeater>
но это не работает. Кажется, что это выглядит как простая строка. Если я просто пишу разрыв строки внутри ItemTemplate, он включает разрыв для каждого символа в столбце!
Я также пытался использовать встроенный xmldatasource, но получаю ошибку синтаксического анализатора:
<asp:XmlDataSource ID="data_certs" runat="server" >
<%# Eval("Certifications") %>
</asp:XmlDataSource>
Я нахожусь в конце моей веревки - я нахожусь в точке, где я собираюсь построить свой результат в коде путем десериализации xml. В любом случае, мне действительно не нужны никакие функциональные возможности gridview.
Есть идеи?