Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
AI OnAI Off
Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
It's a bit odd to have default options checked for a SelectMany control. If something needs to be checked maybe you can combine your SelectionFactory decoration with [Required]?
In terms of funcitonality in the code behind, I could get the option set to the 'Option1' and is working fine, but in the CMS I don't see that option checked. Is there anyway in CMS we can make the option checked?
It's working when I set the default value in the settings of property in Admin mode. I was expecting the code written to set the default value should automatically be picked up without any explicit setting.
I have a string property which allows user to select multiple enum options. I want to set the default option to 'Option1' for the string property.
Property allows multiple selections of the Enum but I want the default option to be set for 'Option1'
[Display(
Name = "options",
GroupName = SystemTabNames.Content,
Order = 30
)]
[SelectMany(SelectionFactoryType = typeof(EnumSelectionFactory))]
public virtual string Option { get; set; }
public override void SetDefaultValues(ContentType contentType)
{
base.SetDefaultValues(contentType);
Option = Forms.Option.Option1.ToString();
}
public enum Option
{
Option1 = 0,
Option2 = 1
}
public class EnumSelectionFactory : ISelectionFactory
{
public IEnumerable GetSelections(
ExtendedMetadata metadata)
{
var values = Enum.GetValues(typeof(TEnum));
foreach (var value in values)
{
yield return new SelectItem
{
Text = GetValueName((Enum)value),
Value = value
};
}
}
private string GetValueName(Enum value)
{
return EnumHelper.StringValueOf(value, true);
}
}