ObjectDataSource から取得して Gridview にバインドする IList を返すオブジェクトがあります。標準バインディングを使用するだけですべて正常に動作しますが、次のようにバインディングをカスタマイズしてリンクボタンのプロパティを設定しようとしています。
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"]);
}
}
e.Row.DataItem を DataRowView にキャストしているときにエラーが発生します。上記のコードは、Virtual Earth に関する Matt Berseth の素晴らしいブログからのものです...これをここで実装しようとしています。何か案は?