赐教 e.Item.FindControl("Label1").Controls未将对象引用设置到对象的实例。
我想通过在datagrid_ItemDataBound事件里得到<%# DataBinder.Eval(Container.DataItem,"path" )%>当前的值,还有得到<%# DataBinder.Eval(Container.DataItem,"path" )%>值之后向附值Image1.ImageUrl
<asp:DataGrid ID="mydatagrid" runat="server" AutoGenerateColumns="False" Width="100%"
ShowHeader="False" CellPadding="4" ForeColor="#333333" GridLines="None" OnItemDataBound="mydatagrid_ItemDataBound">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<table>
<tr>
<td rowspan="2" style="text-align: center;">
<div>
<asp:Label Visible="false" ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"path" )%>'></asp:Label>
<asp:Image ID="Image1" runat="server" /> </div>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<EditItemStyle BackColor="#999999" />
<SelectedItemStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<AlternatingItemStyle BackColor="White" ForeColor="#284775" />
<ItemStyle BackColor="#F7F6F3" ForeColor="#333333" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
</asp:DataGrid>
protected void mydatagrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
foreach (Control c in e.Item.FindControl("Label1").Controls)
{
Label label = (Label)c;
string path = label.Text;
}
}