[C#] Object initialiseren binnen ListView

Om asp controls te benaderen die in je ListView zitten kan je deze niet benaderen zoals je gewend bent. Stel dat er in de ListView staat met als name lblDate, dan kan je deze in de codebehind niet als volgt aanspreken: lblData.Text = "Datum";. Dit komt omdat alle controls pas benaderbaar zijn nadat de DataBound heeft plaatsgevonden. Om lblData toch te kunnen benaderen kun je dit door het OnInt event aan te roepen:

En in de codebehind:

protected void lblDate_OnInit(object sender, EventArgs e)
{
((Label)sender).Text = "Datum";
}

Op deze manier wordt de text toch nog gezet en hoef je niet te loopen of findcontrol te gebruiken. Zelf vind ik dit de netste manier. Voor meer info:
http://blogs.msdn.com/scothu/archive/2008/03/26/accessing-controls-in-listview-templates.aspx

Reacties

Populaire posts van deze blog

[SQL Server] varchar vs nvarchar

MS Sql 70-461: Chapter 5

[C#] Class serialiseren en deserialiseren