Я добавил ListView в веб-форму, и этот код работает, когда столбцы данных в связанном наборе данных имеют значения:
<asp:ListView ID="picturesListView" runat="server"
GroupPlaceholderID="groupsGoHere"
ItemPlaceholderID="itemsGoHere"
GroupItemCount="1" >
<LayoutTemplate>
<p id="pictureList">Picture List:</p>
<ol id="imagegallery">
<asp:PlaceHolder ID="groupsGoHere" runat="server" />
</ol>
</LayoutTemplate>
<GroupTemplate>
<asp:PlaceHolder runat="server" ID="itemsGoHere" />
</GroupTemplate>
<ItemTemplate>
<li>
<a href="<%# Eval("ImageURL")%>" title="<%#Eval("ImageDesc") %>">
<%#Eval("ImageDesc")%>
</a>
</li>
</ItemTemplate>
</asp:ListView>
Затем в файле codebehind у меня есть только эти 2строк для заполнения ListView:
picturesListView.DataSource = dsImages
picturesListView.DataBind()
Все строки в наборе данных имеют значение для столбца ImageURL, но столбец ImageDesc может быть нулевым или пустой строкой.Как я могу проверить, является ли ImageDesc для данной строки пустым, и создать «псевдодескриптор», такой как «безымянный номер изображения N», где N - относительный номер строки в наборе данных.Я полагаю, я мог бы изменить хранимую процедуру, которая возвращает этот набор данных ... но кажется, что это возможно.