正在做一個項目相當煩人,不僅要實現介面多語言國際化,而且所錄入的產品以及其它一些資料都要有多語言支支援
資料的多語言已經夠煩鎖.介面這裡還有一個頭疼的問題,其它的直接用資源檔都可以實現,GridView的列名遇到了問題.現在有兩個解決方案:
1.通過後台代碼動態修改列名:
GridView1.Columns[0].HeaderText = LocalizationUtility.GetText("hdrActive");
優點:比較靈活,資源檔也可以重複利用.資源檔的位置也沒有限制.
缺點:列過頭的時候比較繁瑣,而且對應起來不太方便.
2.直接在前台綁定資源檔
<asp:BoundField Headertext= "<%$ Resources:LabelResources,HeaderCreateDate"%>
DataField="CreateDate" ReadOnly="True" SortExpression="CreateDate" />
優點:通過直接把列名和資源名方便的對應起來,修改起來也比較方便.
缺點: 這種方式只有對當前頁資源有效,必須通過在頁面的設計介面, Tools / Build local resource ,產生資源檔.目前還不知道,這種方式怎麼能夠重複利用多語言資源.而且我的資源檔在另外的一個項目裡.
ps:改變一下方式就如下調用
<asp:TemplateField>
<HeaderStyle HorizontalAlign="Center" Width="150" />
<HeaderTemplate>
<%= LocalizationUtility.GetText("OptionName")%>
</HeaderTemplate>
<ItemTemplate>
<%#Eval("OptionName")%>
</ItemTemplate>
</asp:TemplateField>
利用ASP.NET實現這個GridView的多語言還真是麻煩.上個項目用ExtJs架構實現多語言相當容易.懷念.可能會有更好的方式實現GridView的多語言.希望知道的兄弟指教.