更具體地說,我希望能夠將我在ListView的項目模板中的標籤收集到列表中。如何從列表視圖中拉出一個項目
這是我對它的最新嘗試,可惜我仍然不足。
foreach (Label lbl in ListView.Items.Where(r => r.ItemType == Label))
這是我的ASP的控制:
<asp:ListView ID="ListView1" runat="server" Visible="false" ItemPlaceholderID="phItem"
OnItemDataBound="ListView1_ItemDataBound">
<LayoutTemplate>
<html>
<head>
</head>
</head>
<body>
<table>
<asp:PlaceHolder ID="phItem" runat="server" />
</table>
</body>
</html>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblChecklist" runat="server" />
</td>
<td>
<asp:Label ID="lblCompliant" runat="server" />
</td>
<td>
<asp:Label ID="lblNonCompliant" runat="server" />
</td>
<td>
<asp:Label ID="lblNotApplicable" runat="server" />
</td>
<td>
<asp:Label ID="lblNotComplete" runat="server" />
</td>
<td>
<asp:Label ID="lblTotal" runat="server" />
</td>
</tr>
</ItemTemplate>
<EmptyDataTemplate>
There are not results that match your input paramaters.
</EmptyDataTemplate>
</asp:ListView>
我一直在尋找拉標籤,現在當我在運行時看ListView1.Items我找到ListView1.Items.Count = 0
我可以通過名字分別拉動標籤,但我想拉他們,這樣我就可以擺脫硬編碼了。
這是用於ASP.NET的,對吧? – rsbarro 2011-06-16 15:37:03
@rsbarro是的。添加了標籤。 – Hazior 2011-06-16 18:15:32
如果'ListView1.Items.Count == 0'那麼這意味着你沒有將數據綁定到'ListView1'。我在下面更新了我的答案,並且該代碼將返回每個ItemTemplate中的所有標籤的列表,這些標籤是在數據綁定到控件時創建的。你是否給這個示例代碼一個鏡頭?另外,請記住'ListView1.Items'指的是綁定模板。它是ListViewDataItem的列表,而不是這些模板中的控件。 – rsbarro 2011-06-16 20:36:59