private void AddControl(ControlCollection container, ContentRepository.Field field) { var control = GenericFieldControl.CreateDefaultFieldControl(field); control.ID = String.Concat("Generic", _id++); var fv = GenericFieldControl.GetFieldVisibility(ViewMode, field); if (fv == FieldVisibility.Advanced && AdvancedPanel != null) { AdvancedPanel.Controls.Add(control); } else { container.Add(control); } }
private object[] DefaultValueTest(string[][] data) { var result = new List <object>(); var defaultStrings = new string[fieldNames.Count]; //var expectedValues = new string[fieldNames.Count]; foreach (var record in data) { //new string[]{"ShortTextField", "Default short text value.", "Default short text value."}, string fieldName = record[0]; int fieldIndex = fieldNames.IndexOf(fieldName); defaultStrings[fieldIndex] = String.Concat("<DefaultValue>", record[1], "</DefaultValue>"); //expectedValues[fieldIndex] = record[2]; } //---- var ctd = String.Format(ctdFormat, defaultStrings); ContentTypeInstaller.InstallContentType(ctd); //---- var contentTypeName = "DefaultValueTesterContentType"; var contentType = ContentType.GetByName(contentTypeName); //==== create a new Content var newContent = Content.CreateNew(contentTypeName, _testRoot, "Content1"); object fieldValue; for (int i = 0; i < data.Length; i++) { var record = data[i]; string fieldName = record[0]; var field = newContent.Fields[fieldName]; try { //==== simulating contentview: //-- create control FieldControl control = GenericFieldControl.CreateDefaultFieldControl(field); var controlAcc = new FieldControlAccessor(control); //-- RegisterFieldControl controlAcc.ConnectToField(field); //-- SetData controlAcc.SetDataInternal(); //-- Post default value field.SetData(control.GetData()); //-- check posted value fieldValue = newContent[fieldName]; result.Add(fieldValue); } catch (Exception e) { Exception ee = e; StringBuilder sb = new StringBuilder(); while (ee != null) { sb.Append(ee.Message); ee = ee.InnerException; } result.Add(String.Concat(fieldName, "{Exception:\"", sb.ToString(), "\"}")); } } return(result.ToArray()); }