我有一个ASP.NET多语言应用程序,包含3个本地资源,用于印地语 - 英语 - 西班牙语。
所有“xxxxResource1.Text”的定义&根据浏览器中选择的主要语言,“xxxxResource1.ToolTip”工作得很好。
我的问题是,如果有办法处理同一本地资源文件中的控件大小,我问这是因为,正如您可以想象的那样,单词的翻译可以比英文版本具有更少或更多的字符。所以如果用另一种语言查看应用程序,我想对网格列,文本框,标签等进行一些调整。
我不想通过没有定义按钮的宽度来保持一切开放,因此它可以添加到其上显示的文本,但更喜欢能够在需要时指定%或px值。
如果本地资源无法处理有关控件的那种信息,那么根据语言指定控件大小的好方法是什么?
PD。实际上,当我第一次尝试在Local Resource中设置这些值时,我首先想到的是使用“xxxxResource1.Width”但是没有工作
提前感谢您对此的任何暗示。 此致!
答案 0 :(得分:1)
如果你use the meta:resourcekey attribute,你可以将控件的属性绑定到资源,这些资源会在渲染时自动应用于控件。
嗯,好吧。
它仅适用于字符串属性。因此,它适用于Text
,Tooltip
和CssClass
。但是Width
不是一个字符串(它是Unit
,无论是什么)和Style
,信不信由你,也不是字符串 - 它是一种字典对象。
我的建议是为各种宽度定义一些CSS类,并将它们与文本一起应用。
按钮标记示例:
<asp:Button ID="Button1" runat="server" meta:resourcekey="Button1Resource1" Text="This actually gets ignored" />
RESX:
<data name="Button1Resource1.Text" xml:space="preserve">
<value>Localized text goes here</value>
</data>
<data name="Button1Resource1.CssClass" xml:space="preserve">
<value>Width120</value>
</data>
CSS:
.Width120 { width: 120px }
不理想,但很简单。通过十几个CSS类,您可以涵盖各种宽度可能性。