0

私は rptFoo と呼ばれるリピーターと listFoo と呼ばれる C# を持っていList<String>ます。次のように、 List を repeater として割り当てることができることだけを知っていますDataSource

rptFoo.DataSource = listFoo
rptFoo.DataBind();

このリピーターはテキスト ボックスにレンダリングされ、テキスト ボックスのテキストに変更を加えます。逆にリストを取得できますか? つまり、リピーター アイテムのテキスト ボックスでデータが変更された場合、次のように C# リストに割り当てることはできますか。

listFoo = DataSource

経由でリピーターアイテムに1つずつアクセスするよりも良いものを探していforeachます。何か案が?

これが私のやり方です:

foreach (RepeaterItem item in rptFoo.Items)
{
  TextBox myTextBox= (TextBox)item.FindControl("myTextBox");
  listFoo[item.ItemIndex] = myTextBox.Text;
}

リピーターで編集したデータをリストに反映させたい。

前もって感謝します

4

1 に答える 1

0

各リピーター アイテムをループしてテキスト ボックスを見つけるよりも、おそらく TextBox コントロールのOnTextChangedイベント ハンドラーを利用する方が良い方法です。これにより、TextBox オブジェクトとその新しい値に直接アクセスできるようになります。

于 2012-06-08T11:46:54.523 に答える