3

オブジェクトのコレクションにバインドされたリピーターコントロールがあります。button_onclickイベントを発生させるとき、オブジェクトのプロパティを取得するためにデータアイテムにアクセスする必要があります。これが私が持っているものであり、私の質問は、button_onclickイベントでリピーターの基になるオブジェクトにアクセスする方法です。

protected void OKButton_Click(object sender, EventArgs e)
{
    try
    {
         string selectedValue = Request.Form["repeaterRadioButton"];
        foreach (RepeaterItem item in Repeater1.Items)
        {
            if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
            {
                MyObject myObject = (MyObject)item.DataItem;
                if (!string.IsNullOrEmpty(selectedValue) && selectedValue == myObject.MyProperty)
                {
                     //stuff in here
                } ... rest of code
4

1 に答える 1

5

データ項目は保持されません。ページが読み込まれるたびにリピーターを再バインドしない限り、初期インターフェースをバインドするためにのみ使用されます。次に、ボタンにコマンド名の値を指定し、repeater.itemCommandをタップする必要があります。これにより、dataitemプロパティが存在するリピーターアイテムにアクセスできるようになります。

編集:リピーター内のアイテムにアクセスする必要がある場合は、次のことができます。

foreach (var item in this.rpt.Items)
{
   if (item.DataItem != null) {
      //Do something
   }
}

1つの行または行のコレクションにアクセスしようとしていますか?

HTH。

于 2010-04-26T15:23:18.120 に答える