まず、コードビハインドが複雑になった場合に使用します (私はほとんど常に使用しています)。ここでは、すべてのアイテムに対してトリガーされるListView のItemDataBound
イベントを使用します。
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
// assuming you have an ItemTemplate with a label where you want to show this
Label lblInfo = (Label) e.Item.FindControl("LblInfo");
DataRowView rowView = (DataRowView)e.Item.DataItem;
if (rowView.Row.Table.Columns.Contains("Phone"))
{
lblInfo.Text = "we have the phone property";
}
else
{
lblInfo.Text = "no phone available";
}
}
}
これにより、コードがはるかに読みやすく、保守しやすく、デバッグしやすく、タイプ セーフになります。