我正在使用CMS工具生成.RESX资源文件。

在其中创建带有空格或标点字符的资源名称有危险吗?

如果我使用此语法获取资源,则可以正常工作:

GetGlobalResourceObject("myresources", "audio,visual");

但是,这会导致声明性资源语法的错误,例如:

<asp:Literal ID="litLastName" runat="server" Text="<%$ Resources: GlobalResources,audio,visual %>"></asp:Literal>

另外,当我在Visual Studio中编辑.RESX文件时,如果我的资源键包含字母数字和下划线除外的任何字符,它会给我警告。它说“资源名称”不是有效的标识符。

我在这里打破.NET规则吗?

有帮助吗?

解决方案

资源密钥的一般指南与您定义的变量规则相同。

以下是ASP.NET论坛上的评论,指出不允许使用一个时期:

http://forums.asp.net/t/967741.aspx

这是一个关于resx文件命名约定密钥命名约定的问题:

资源(.RESX)文件键命名约定?

另外,如果您考虑它们在应用程序中的使用方式,该应用程序具有带有空间或奇数的键,也将真正软管代码。在此快速教程中可以看到的“ telerik控件”诸如TELERIK控件之类的东西的情况下,这尤其糟糕:

http://www.telerik.com/help/aspnet-ajax/advancedmultilanguagelocal.html

如果现在您在那里添加一个名字

I like to put spaces in resource keys.ChartTitle.TextBlock.Text

好吧,一切都会到处都是,因为空间意味着什么。

(在上面的链接中也很明显,为什么该周期不再有效)

我想我也可以说,似乎微软的某人当然认为这是一个错误,这就是为什么Visual Studio给您带来错误的原因。虽然,质疑权威和人的力量肯定是好的。

从长远来看,您可能需要做一些非常规的事情可能没有理由。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top