J'ai un objet qui retourne un IList que je reçois de mon ObjectDataSource et se lier à un Gridview. Tout fonctionne très bien si je viens d'utiliser la liaison standard, mais je suis en train de personnaliser ma fixation pour définir les propriétés sur un linkbutton comme suit:ne peut pas lancer DataItem à DataRowView dans le scénario de reliure personnalisée
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// extract the link button
LinkButton lnkViewMap = (LinkButton)e.Row.FindControl("lnkViewMap");
// grab the datarowview
System.Data.DataRowView row = (System.Data.DataRowView)e.Row.DataItem;
// set the onclientclick to fire our showMap javascript function,
// passing through the lat/longs
lnkViewMap.OnClientClick = string.Format("showMap({0}, {1}); return false;", row["Lat"], row["Long"]);
}
}
Mon erreur se produit où je suis la coulée e.Row.DataItem à une DataRowView. Le code ci-dessus est de blogue impressionnant de Matt Berseth sur Virtual Earth ... qui est ce que je suis en train de mettre en œuvre ici. Des idées?
Ça l'a fait ... J'ai jeté le DataItem à mon type d'élément, puis j'ai accédé à ses propriétés en utilisant la notation normale et cela a fonctionné ... merci! – Webjedi
NP .. plus qui est beaucoup mieux que de déconner avec DataRowViews! Liaison de données fortement typée FTW. – Brannon