2017-08-16 7 views
0

私は同様の操作を必要とするリピーターの束を持っています。しかし、ハンドラは、コマンドの対象であるRepeaterItemだけでなく、Repeaterを含むRepeaterItemにアクセスする必要があります。子プログラムRepeaterItemを使用してリピーターにプログラムでアクセスする

protected void SpecificRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    GenericHandler(e); 
} 

private void GenericHandler(RepeaterCommandEventArgs e) 
{ 
    RepeaterItem row = e.Item; 
    // Do things with the item. 

    Repeater table = e.<???>; 
    // Do things with the repeater. 
} 

<???>の内容は基本的に尋ねています。リピーターを入手するにはどうすればいいですか?

答えて

1

ItemCommandのソースはボタンではなく、Repeater自体です。ソースをリピーターに戻してください。

protected void SpecificRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    Repeater repeater = source as Repeater; 
    GenericHandler(e, repeater); 
} 

private void GenericHandler(RepeaterCommandEventArgs e, Repeater repeater) 
{ 
} 
+0

驚くばかりです。最初のメソッドのシグネチャは「Repeater source、RepeaterCommandEventArgs e」ですか?それはより読みやすく/保守的で、おそらく私にSEポストの問題を救ったはずです。 – mac9416

+1

いいえ、それはできません: ''SpecificRepeater_ItemCommand'のオーバーロードはデリゲート 'System.Web.UI.WebControls.RepeaterCommandEventHandler'に一致しません – VDWWD

関連する問題