2012-09-03 49 views
1

我們的網站(ASP.NET 4.0),使得在每個控制大量使用meta:ResourceKey整個的幾乎任何你可以在頁面上看到,並從客戶定製的客戶端。但問題是,資源有時需要從客戶端到客戶端進行定製。例如,如果在資源文件Label1ResourceText.Text = 'Welcome to Customer1 site'中存在此字符串,那麼當我們安裝Customer2版本時,它需要在英文版和應用程序的本地化資源版本中更改爲Label1ResourceText.Text = 'Welcome to Customer2 site'。我想知道是否可以通過編程或聲明方式在每個客戶之間進行最少量的定製工作,但無需爲每個客戶手動編輯或生成不同的資源文件。 感謝您的建議。asp.net資源定製

回答

1

無論您使用單個文件還是多個文件,您的網站仍然必須確定使用哪個文件或使用哪個密鑰(如果使用單個文件方法)。

除此之外,你將不得不使用兩個單獨的文件。

另一種方法是將單個資源文件(如UIStrings.resx)添加到資源文件夾。然後,您可以在下面的字符串存儲在資源文件

WeclomeMessage =「歡迎來到{0}網站」

然後你就可以使用渲染

Label1.Text = String.Format(Resources.UIStrings.WelcomeMessage, CustomerName); 
代碼

後面的字符串。

作爲一種替代方法背後​​的代碼是用

<asp:Label Text="<%= String.Format(Resources.UIStrings.WelcomeMessage, CustomerName)%>" /> 

This link對如何利用資源文件的一些有用的信息。

+0

謝謝你,我喜歡你的另一種方法更好,因爲'CustomerName'的東西,可以在配置文件中或類似的每個客戶端的東西進行設置。 – Victor