ASP.NET中的本地资源是否可以修改控件大小?

时间:2017-03-01 00:08:25

标签: c# asp.net resources behavior adjustment

我有一个ASP.NET多语言应用程序,包含3个本地资源,用于印地语 - 英语 - 西班牙语。

所有“xxxxResource1.Text”的定义&根据浏览器中选择的主要语言,“xxxxResource1.ToolTip”工作得很好。

我的问题是,如果有办法处理同一本地资源文件中的控件大小,我问这是因为,正如您可以想象的那样,单词的翻译可以比英文版本具有更少或更多的字符。所以如果用另一种语言查看应用程序,我想对网格列,文本框,标签等进行一些调整。

我不想通过没有定义按钮的宽度来保持一切开放,因此它可以添加到其上显示的文本,但更喜欢能够在需要时指定%或px值。

如果本地资源无法处理有关控件的那种信息,那么根据语言指定控件大小的好方法是什么?

PD。实际上,当我第一次尝试在Local Resource中设置这些值时,我首先想到的是使用“xxxxResource1.Width”但是没有工作

提前感谢您对此的任何暗示。 此致!

1 个答案:

答案 0 :(得分:1)

如果你use the meta:resourcekey attribute,你可以将控件的属性绑定到资源,这些资源会在渲染时自动应用于控件。

嗯,好吧。

它仅适用于字符串属性。因此,它适用于TextTooltipCssClass。但是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类,您可以涵盖各种宽度可能性。