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

Local resources in ASP.NET, is it possible to modify control sizes?

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

所有 "xxxxResource1.Text" 和 "xxxxResource1.ToolTip" 的定义根据浏览器上选择的主要语言工作得很好。

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

我不想通过不定义按钮的宽度来让所有内容保持打开状态,以便它可以适应按钮上显示的文本,而是希望能够在需要时指定 % 或 px 值。

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

PD。实际上,当我第一次尝试在本地资源中设置这些值时,我的第一个想法是使用 "xxxxResource1.Width" 但没有用

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

如果您 use the meta:resourcekey attribute,您可以将控件的属性绑定到资源,当控件呈现时,资源将自动应用到控件。

嗯,有点。

它只适用于字符串属性。所以它适用于 TextTooltipCssClass。但是 Width 不是一个字符串(它是一个 Unit,不管它是什么)而且 Style,信不信由你,也不是一个字符串——它是一种字典对象.

我的建议是为各种宽度定义一些 CSS 类 并将它们与文本一起应用。

示例按钮标记:

<asp:Button ID="Button1" runat="server" meta:resourcekey="Button1Resource1" Text="This actually gets ignored"  />

回复:

<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 类 你可以覆盖很大范围的宽度可能性。