2017-03-01 43 views
0

我有一个ASP.NET多语言应用程序,拥有3个用于印地语 - 英语 - 西班牙语的本地资源。ASP.NET中的本地资源是否可以修改控件大小?

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

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

我不想放弃一切绝不定义按钮的宽度敞开,以便它可以addapt在其上显示的文字,而是更喜欢能够在需要时指定%或PX值。

如果本地资源无法处理那种关于控制的信息,这将是根据语言指定控件的大小的好方法吗?

PD。其实第一次当我试图设置这些值在本地资源我首先想到的是用“xxxxResource1.Width”,但事先没有工作

感谢有这方面的暗示。 关心!

+0

Propably不是你要找的,但我通常使用省略号来代替可变宽度的控制和使用title属性,它允许显示鼠标悬停全文。我不认为在翻译文件中存储布局信息是一个好主意。 – r3bel

+0

嗨Rebel,非常感谢您的评论....我知道,起初这听起来不是一个好主意,但我的问题正是这样....我想能够根据在浏览器上选择的语言,这就是为什么我正在考虑本地资源。关于仅在mouseover上显示全文的建议...好吧,我的情况是,我的页面有很多元素,我想根据文本给出正确的布局。 –

回答

1

如果use the meta:resourcekey attribute,您可以在控件的属性绑定到资源,当它被渲染,这将被自动应用到控制。

那么,有点。

它只适用于字符串属性。所以它适用于Text,TooltipCssClass。但是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类,你可以覆盖很大范围的宽度可能性。

+0

嗨,约翰,感谢您提供的所有信息和方法。我今天会试一试,但从我看到的这可以是一个很好的方法,我正在寻找。问候 –

相关问题