您好我正在sharepoint 2010中创建一个带有一些webpart属性的visualwebpart。 在webpart属性中,我尝试使用枚举创建一个下拉列表。
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 - > Only Image),但它不支持枚举。任何人都可以告诉我如何满足这一要求。
答案 0 :(得分:0)
如果我在这里理解你,你想在选择“OnlyImage”时显示“Only Image”吗?
然后你有可能: Posibillity ONE: 使用
public Dictionary<enum,string> SelectedFileType {
}
枚举包含:(FileTypeSupport.OnlyImage, "Only Image")
可能性二: 如果您有确切的规则,可以修改getter和setter:
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偷走了Getter。你也可以在没有正则表达式的情况下找到其他答案,这些答案有更好的表现。 (但是,当您使用SharePoint时,性能不应该成为问题)