/// <summary> /// Handles the settings key action event. /// </summary> /// <param name="actionName">Name of item (button) that throws event</param> /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param> protected void grpEdit_OnKeyAction(string actionName, object actionArgument) { int keyId = ValidationHelper.GetInteger(actionArgument, 0); SettingsKeyInfo ski = SettingsKeyProvider.GetSettingsKeyInfo(keyId); switch (actionName.ToLowerCSafe()) { case ("edit"): // Redirect to key-editing page if (ski != null) { URLHelper.Redirect("~/CMSModules/Settings/Development/CustomSettings/SettingsKey_Edit.aspx?treeroot=" + mTreeRoot + "&keyname=" + ski.KeyName + "&siteid=" + mSiteId); } break; case ("delete"): try { // Delete all keys DataSet ds = SiteInfoProvider.GetSites(null, null, "[SiteName]"); if (!DataHelper.DataSourceIsEmpty(ds)) { DataTable tbl = ds.Tables[0]; foreach (DataRow row in tbl.Rows) { string siteName = ValidationHelper.GetString(row[0], ""); if (!string.IsNullOrEmpty(siteName)) { SettingsKeyProvider.DeleteKey(string.Format("{0}.{1}", siteName, ski.KeyName)); } } } SettingsKeyProvider.DeleteKey(ski.KeyName); } catch { lblError.Text = GetString("settingsedit.settingskey_edit.errordelete"); lblError.Visible = true; } break; case ("moveup"): SettingsKeyProvider.MoveSettingsKeyUp(ski.KeyName); break; case ("movedown"): SettingsKeyProvider.MoveSettingsKeyDown(ski.KeyName); break; } }