N2CMS使用标准.net枚举来定义可编辑下拉列表的选项。
我的下拉选项需要包含空格,但当然你不能在枚举项名称中有空格。
我曾希望可以使用某种属性来定义选项的文本。但我看不到任何似乎在做任何事情的事情。
答案 0 :(得分:1)
我设法最终解决了这个问题(通过阅读N2来源)。您使用全局资源文件。
特别是,EditableEnumAttribute
中的代码会为枚举中的每个项目调用HttpContext.GetGlobalResourceObject
(通过调用Utility.GetGlobalResourceString
)。
因此,要在其中包含带空格(和其他特殊字符)的枚举名称,请添加与枚举名称匹配的全局资源文件,并为每个需要特殊字符的枚举项添加条目。
您需要做的第一件事是将App_GlobalResources
文件夹添加到项目的顶层。这是至关重要的,就好像您使用VS.NET在别处创建资源文件一样,它们不会被创建为全局资源文件。
接下来在App_GlobalResources
中创建一个与枚举名称匹配的资源文件。它只需匹配枚举的短名称,而不是完整的名称空间前缀名称。
现在在资源文件中为每个枚举项创建一个条目,其中Name
列中的枚举项名称和Value
列中包含特殊字符的名称。您不需要为每个枚举项添加一个条目,只为具有特殊字符的条目添加条目(尽管将它们全部添加可能是有意义的。)