Asp.Net Localization實現之GridView

來源:互聯網
上載者:User

      正在做一個項目相當煩人,不僅要實現介面多語言國際化,而且所錄入的產品以及其它一些資料都要有多語言支支援
資料的多語言已經夠煩鎖.介面這裡還有一個頭疼的問題,其它的直接用資源檔都可以實現,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的多語言.希望知道的兄弟指教.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.