【问题标题】:Local resources in ASP.NET, is it possible to modify control sizes?ASP.NET 中的本地资源,是否可以修改控件大小?
【发布时间】:2017-07-20 03:31:33
【问题描述】:

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

所有“xxxxResource1.Text”和“xxxxResource1.ToolTip”的定义都可以根据浏览器上选择的主要语言正常工作。

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

我不希望通过不定义按钮的宽度来打开所有内容,以便它可以添加到显示的文本中,而是希望能够在需要时指定 % 或 px 值。

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

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

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

【问题讨论】:

  • 可能不是您要查找的内容,但我通常使用省略号而不是可变宽度控件并使用标题属性,该属性允许在鼠标悬停时显示全文。我认为将布局信息存储在翻译文件中不是一个好主意。
  • 嗨 Rebel,非常感谢您的评论....我知道起初这听起来不是一个好主意,但我的问题正是......我希望能够根据浏览器上选择的语言设置布局,这就是我考虑本地资源的原因。关于您仅在鼠标悬停时显示全文的建议……嗯,我的情况是我的页面有很多元素,我想根据文本给出正确的布局。

标签: c# asp.net resources behavior adjustment


【解决方案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"  />

Rex:

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

【讨论】:

  • 嗨,约翰,感谢您提供的所有信息和建议的方法。我今天会试一试,但据我所知,这可能是我正在寻找的一个不错的方法。问候
猜你喜欢
  • 1970-01-01
  • 2020-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-23
  • 1970-01-01
  • 2010-10-01
相关资源
最近更新 更多