private string SelectFromProperties(SPList currentList, SPField currentField, SPControlMode controlMode, string fieldStatus) { try { StringBuilder propertyValue = new StringBuilder(); propertyValue.Append(Definitions.prefix + Definitions.separator); propertyValue.Append(currentList.ID + Definitions.separator); propertyValue.Append(currentField.Id + Definitions.separator); propertyValue.Append(controlMode.ToString() + Definitions.separator); propertyValue.Append(fieldStatus); string propertyToSite = propertyValue.ToString(); if (currentSite.RootWeb.AllProperties.ContainsKey(propertyToSite)) { return(currentSite.RootWeb.AllProperties[propertyToSite].ToString()); } else { return(String.Empty); } } catch (Exception ex) { errorText.Text = "Error on Load Column:<br />" + ex.Message; return(String.Empty); } }
private void SaveToProperties(SPList currentList, SPField currentField, SPControlMode controlMode, string fieldStatus, string value, int clear) { try { StringBuilder propertyValue = new StringBuilder(); propertyValue.Append(Definitions.prefix + Definitions.separator); propertyValue.Append(currentList.ID + Definitions.separator); propertyValue.Append(currentField.Id + Definitions.separator); propertyValue.Append(controlMode.ToString() + Definitions.separator); propertyValue.Append(fieldStatus); string propertyToSite = propertyValue.ToString(); if (clear == 0) { currentSite.RootWeb.AllProperties.Remove(propertyToSite); } else { if (currentSite.RootWeb.AllProperties.ContainsKey(propertyToSite)) { currentSite.RootWeb.AllProperties[propertyToSite] = value; } else { currentSite.RootWeb.AllProperties.Add(propertyToSite, value); } } currentSite.RootWeb.Update(); currentSite.RootWeb.Properties.Update(); } catch (Exception ex) { errorText.Text = "Error on Save Column:<br />" + ex.Message; } }
public string GetValueFromProperty(SPField field, string fieldStatus, SPControlMode controlMode, bool isViewOrAlert) { SPList currentList; SPItem currentItem; SPField currentField; if (isViewOrAlert) { currentList = field.ParentList; currentField = field; } else { BaseFieldControl webControl = field.FieldRenderingControl; currentList = webControl.List; currentItem = webControl.Item; currentField = webControl.Field; Guid? currentListId = webControl.ListId; int? currentItemIdInt = webControl.ItemId; string currentItemId = webControl.Field.Id.ToString(); string currentValue = webControl.ItemFieldValue == null ? "" : webControl.ItemFieldValue.ToString(); } StringBuilder propertyValue = new StringBuilder(); propertyValue.Append(Definitions.prefix + Definitions.separator); propertyValue.Append(currentList.ID + Definitions.separator); propertyValue.Append(currentField.Id + Definitions.separator); propertyValue.Append(controlMode.ToString() + Definitions.separator); propertyValue.Append(fieldStatus); //SPGuys_ListId_FieldId_FormMode_ReadOnly Hidden string propertyFromWeb = propertyValue.ToString(); //SPGuys_b9a223e1-58da-4608-aaf4-0a0c2f1d6b0e_fa564e0f-0c70-4ab9-b863-0177e6ddd247_New_Hidden title //SPGuys_b9a223e1-58da-4608-aaf4-0a0c2f1d6b0e_6e180dd1-762e-46a0-8ffd-7925b70e699e_New_ReadOnly people if (propertyFromWeb.Contains(SPBuiltInFieldId.LinkTitle.ToString())) { propertyFromWeb = propertyFromWeb.Replace(SPBuiltInFieldId.LinkTitle.ToString(), SPBuiltInFieldId.Title.ToString()); } if (propertyFromWeb.Contains(SPBuiltInFieldId.LinkTitleNoMenu.ToString())) { propertyFromWeb = propertyFromWeb.Replace(SPBuiltInFieldId.LinkTitleNoMenu.ToString(), SPBuiltInFieldId.Title.ToString()); } //Toto tu je kvoli tomu ze ked volam priamo tuto metodu na zistenie detailov pre ListField.aspx if (currentSite == null) { currentSite = SPContext.Current.Site; currentWeb = SPContext.Current.Web; } if (currentSite.RootWeb.AllProperties[propertyFromWeb] != null) { //Musim replacovat \\\\ aj ked do property ulozim len \\ ale on tam doplni \\ potrebujem to mat v stave sp2010\\Administrator nie sp2010\\\\Administrator //return currentSite.RootWeb.AllProperties[propertyFromWeb].ToString().Replace("\\\\", "\\"); return(currentSite.RootWeb.AllProperties[propertyFromWeb].ToString()); //Tu sa to zapisuje inak preto nam to nie je treba replacovat } return(String.Empty); }