2015-05-29 3 views
0

Привет Я создаю visualwebpart в sharepoint 2010 с некоторым свойством веб-страницы. В собственности webpart Я пытаюсь создать выпадающий список с использованием перечисления.Распаковка в собственности веб-сайта в sharepoint 2010

public enum FileTypeSupport 
    {    
     OnlyImage, 
     OnlyVideo, 
     ImageAndVideo 
    }; 
    public static FileTypeSupport fileType; 

    [Personalizable(PersonalizationScope.Shared), 
    Category("Caustom Property"), 
    WebBrowsable(true), 
    WebDisplayName("File Type Support"), 
    Description("Specify the number of image which will show at a time")] 
    public FileTypeSupport SelectedfileType 
    { 
     get { return fileType; } 
     set { fileType = value; } 
    } 

Это работает хорошо, но мое требование к выпадающий {Только изображения, Только видео, изображения и видео}, то есть с некоторым пространством (OnlyImage -> только изображение), но она не поддерживает в ENUM. Может ли кто-нибудь сказать мне, как я могу выполнить это требование.

ответ

0

ЕСЛИ Я понял, что вы здесь, вы хотите отобразить «Только изображение», когда выбрано «OnlyImage»?

Тогда вы должны возможности: Posibillity ONE: Используйте

public Dictionary<enum,string> SelectedFileType { 

} 

Если перечисление содержит: (FileTypeSupport.OnlyImage, "Only Image")

Возможность TWO: Если у вас есть точные правила, которые вы можете изменить геттер и сеттер :

public string SelectedfileType 
{ 
get { return Regex.Replace(fileType.ToString(), "([a-z])([A-Z])", "$1 $2")); } 
set { fileType=enum.Parse(typeOf(FileTypeSupport),value.Replace(" ",""); 
} 

Я украл Геттер от this SO answer. Вы также можете найти другие ответы без регулярного выражения, которые имеют лучшую производительность. (Но производительность не должна быть проблемой, поскольку вы используете SharePoint)

+0

Я пытаюсь показать «Только изображение» в раскрывающемся меню. обычно в раскрывающемся списке отображаются все значения, определенные в перечислении, но перечисление не позволяет использовать значение с пробелом. –

+0

Тогда моя догадка была права. Просто делайте то, что я там разместил. Второй вариант, возможно, был бы лучшим. (Геттер Вставляет пустые места, сеттер их удаляет). Поэтому он должен выглядеть хорошо на frontend –

+0

Но тогда он больше не будет отображаться как раскрывающийся список, так как это тип возврата - строка. Мне нужно выпадающее меню, а не текстовое поле. –

Смежные вопросы