Datalist - 没有数据绑定到服务器控件,提取可能吗?

时间:2010-02-08 16:05:22

标签: asp.net data-binding ado.net datalist

在数据列表中,您通常使用find,在控件上使用FindControl提取行数据,该控件通过databind使用say,Eval分配值。

如果在您的datalist中没有绑定到ASP.NET服务器控件,该怎么办?它是一个数据主义者,“直接”,比如表格单元格或单独使用。

你不能做一个FindControl,所以如果它没有绑定而不是数据键,是否可以提取行值?

2 个答案:

答案 0 :(得分:1)

我假设有数据绑定到您的datalist(导致它呈现项目模板)。我会在datalist的OnItemDatabound事件中使用类似的东西:

if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)         { myobject obj =(myobject)e.Item.DataItem; }

一旦你投射了数据项,你就可以提取你需要的值。

答案 1 :(得分:1)

如果您的值在DataList中,您仍可以FindControl,只要它位于标有runat="server"的控件内:

<asp:Literal id="ltFixedValue" runat="server">5</asp:Literal>

甚至

<span id="spFixedValue" runat="server">5</span>