- PR -

RepeaterのOnItemCommandを取得したい

1
投稿者投稿内容
さり
常連さん
会議室デビュー日: 2003/05/13
投稿数: 38
投稿日時: 2003-06-19 17:22
Repeaterにボタンを設定して、そのボタンを押したときのイベントが取れなくて
困っています。

aspxファイルのhtml画面で、
<asp:repeater id="Repeater1" runat="server"> を
<asp:repeater id="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
と書き直すと、

aspx.csファイルでは、InitializeComponent処理で、
this.Repeater1.ItemCommand += new System.Web.UI.WebControls.RepeaterCommandEventHandler
(this.Repeater1_ItemCommand);
ができ、

private void Repeater1_ItemCommand(object source, System.Web.UI.WebControls.
RepeaterCommandEventArgs e)
が記述されます。

この時、実行すると、「WebForm1.Repeater1_ItemCommand(object, System.Web.UI.WebControls.
RepeaterCommandEventArgs)' はアクセスできない保護レベルになっています。」というエラーが
でます。

Repeater1_ItemCommand関数のスコープをprivateからpublicに変更すると、実行は可能なのですが
この関数に処理は発生しません。

考え方としてどこが間違っているのか分からなくて困っています。
教えて頂けますでしょうか?
ぴで
大ベテラン
会議室デビュー日: 2002/10/10
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2003-06-20 00:19
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwebuiwebcontrolsrepeaterclassonitemcommandtopic.asp
ソースの全容が分かりませんが、サンプルを実行してみたらどうでしょう。
さり
常連さん
会議室デビュー日: 2003/05/13
投稿数: 38
投稿日時: 2003-06-20 10:23
レスありがとうございます。
サンプルも試してみて、書き方自体に問題は無いと分かりました。
問題点を切り分けることができました、ありがとうございます。

問題は、サンプルのように単一のファイルで実行するのではなく、
コードビハインドファイルで処理を行う場合の記述に問題があるようでした。

試行錯誤しているうちに、提示したソースで動作するようになりました。
スコープをpublicにすればとりあえずOKのようです。
1

スキルアップ/キャリアアップ(JOB@IT)