private void CreateEditStateCombinationControls(IList <StateCombination> stateCombinations) { StateCombinationControls.Controls.Clear(); _editStateCombinationControls.Clear(); for (int i = 0; i < stateCombinations.Count; i++) { StateCombination stateCombination = stateCombinations[i]; EditStateCombinationControl editStateCombinationControl = (EditStateCombinationControl)LoadControl("EditStateCombinationControl.ascx"); editStateCombinationControl.ID = "SC_" + i; editStateCombinationControl.BusinessObject = stateCombination; editStateCombinationControl.Delete += EditStateCombinationControl_Delete; StateCombinationControls.Controls.Add(editStateCombinationControl); _editStateCombinationControls.Add(editStateCombinationControl); } }
void EditStateCombinationControl_Delete(object sender, EventArgs e) { EditStateCombinationControl editStateCombinationControl = (EditStateCombinationControl)sender; Page.PrepareValidation(); bool isValid = ValidateStateCombinations(editStateCombinationControl); if (!isValid) { return; } _editStateCombinationControls.Remove(editStateCombinationControl); StateCombination accessControlEntry = (StateCombination)editStateCombinationControl.DataSource.BusinessObject; accessControlEntry.Delete(); SaveStateCombinations(false); Page.IsDirty = true; LoadStateCombinations(false); }