Asp.Net Localization实现之GridView
正在做一个项目相当烦人,不仅要实现界面多语言国际化,而且所录入的产品以及其它一些数据都要有多语言支支持
数据的多语言已经够烦锁.界面这里还有一个头疼的问题,其它的直接用资源文件都可以实现,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的多语言.希望知道的兄弟指教.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构