在数据列表中,您通常使用find,在控件上使用FindControl提取行数据,该控件通过databind使用say,Eval分配值。
如果在您的datalist中没有绑定到ASP.NET服务器控件,该怎么办?它是一个数据主义者,“直接”,比如表格单元格或单独使用。
你不能做一个FindControl,所以如果它没有绑定而不是数据键,是否可以提取行值?
答案 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>