2017-03-01 42 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

嗨,約翰,感謝您提供的所有信息和方法。我今天會試一試,但從我看到的這可以是一個很好的方法,我正在尋找。問候 –

相關問題