ASP.NET .RESX资源文件中的有效资源键
-
13-09-2019 - |
题
我正在使用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文件命名约定密钥命名约定的问题:
另外,如果您考虑它们在应用程序中的使用方式,该应用程序具有带有空间或奇数的键,也将真正软管代码。在此快速教程中可以看到的“ telerik控件”诸如TELERIK控件之类的东西的情况下,这尤其糟糕:
http://www.telerik.com/help/aspnet-ajax/advancedmultilanguagelocal.html
如果现在您在那里添加一个名字
I like to put spaces in resource keys.ChartTitle.TextBlock.Text
好吧,一切都会到处都是,因为空间意味着什么。
(在上面的链接中也很明显,为什么该周期不再有效)
我想我也可以说,似乎微软的某人当然认为这是一个错误,这就是为什么Visual Studio给您带来错误的原因。虽然,质疑权威和人的力量肯定是好的。
从长远来看,您可能需要做一些非常规的事情可能没有理由。
不隶属于 StackOverflow