Asp.net

如何保存在轉發器中載入的項目?

  • April 21, 2016

我正在載入一組載入到Repeater控制項中的記錄。我CheckBox對每條記錄都有一個控制項,用於確定該項目是否處於活動/非活動狀態。如何遍歷Repeater按鈕點擊事件中的所有記錄並保存狀態CheckBox?我需要獲取記錄的 ID 和控制項的 Checked 狀態。

謝謝!

有幾種方法可以解決它。如果您沒有在 PostBack 上重新綁定數據(例如,您依賴於已填充的轉發器),則需要將記錄 ID 寫入將在 ViewState 中持久保存的某個欄位。在此範例中,我使用了HiddenField

void Button_Click(object sender, EventArgs e)
{
   foreach(RepeaterItem item in myRepeater.Items)
   {
       CheckBox cbxIsActive = item.FindControl("cbxID") as CheckBox;
       HiddenField hdfID = item.FindControl("recordID") as HiddenField;
       if(cbxIsActive != null && hdfID != null)
       {
           string recordID = hdfID.Value;
           bool isActive = cbxIsActive.Checked;
           UpdateRecord(recordID, isActive);
       }
   }
}

引用自:https://stackoverflow.com/questions/1487914