0

N2CMS 使用标准 .net 枚举来定义可编辑下拉列表的选项。

我的下拉选项需要包含空格,但当然你不能在枚举项名称中包含空格。

我曾希望可以应用某种属性来定义选项的文本。但是我看不到任何似乎可以做到的地方。

4

1 回答 1

1

我最终设法弄清楚了如何做到这一点(通过阅读 N2 源代码)。您使用全局资源文件。

特别是,对枚举中的每个项目EditableEnumAttribute调用HttpContext.GetGlobalResourceObject(通过调用)中的代码。Utility.GetGlobalResourceString

因此,要让枚举名称中包含空格(和其他特殊字符),您需要添加一个与枚举名称匹配的全局资源文件,并为每个需要特殊字符的枚举项添加一个条目。

您需要做的第一件事是将App_GlobalResources文件夹添加到项目的顶层。这很重要,就像您使用 VS.NET 在其他地方创建资源文件一样,它们不会被创建为全局文件。

接下来创建一个App_GlobalResources与枚举名称匹配的资源文件。它只需要匹配枚举的短名称,而不是完整的命名空间前缀名称。

现在在资源文件中为每个枚举项创建一个条目,枚举项名称在Name列中,名称包括列中的特殊字符Value。您不需要为每个枚举项添加一个条目,只需为具有特殊字符的那些项添加一个条目(尽管将它们全部添加可能是有意义的)。

于 2012-11-21T12:05:01.983 回答