データ ソースからの行がバインドされた GridView があり、各行の最後にリンク ボタンを配置しました。そのリンク ボタンをクリックすると、グリッド内の名前付きコントロールが見つかり、その値が取得されます。Repeater と同じデータ ソースで同じ名前のコントロールを持つ Repeater コントロールを使用することにしましたが、同じクリック イベントを実行して RepeaterItemEventArgs を使用することはできません。メソッド シグネチャで使用できるのは EventArgs だけです。RepeaterItem がないと、コントロールが見つかりません。
このコードはコンパイルされますが、行をクリックすると次のエラーが表示されます: CS0123: 'BtnAssign' のオーバーロードがデリゲート 'System.EventHandler' に一致しません これにより、実行時のエラーが修正され、このメソッドにステップインできますが、コンパイルするにはメソッドを変更する必要があります。e.Item にアクセスできなくなりました。アイデア?
protected void BtnAssign(object sender, RepeaterItemEventArgs e)
{
var miscItem = new SLWorkOrderItem();
string theAmountLabelText = "";
// Repeater Code
if (e.Item.ItemType == ListItemType.Item)
{
var theAmountLabel = e.Item.FindControl("lblAmount") as Label;
}
}