问候语, 我正在使用一个从linq表达式获取源代码的网格。
以下是linq:
var data = from row in tempCity.AsEnumerable()
group row by row.Field<string>("City") into city
select new
{
City = city.Key,
Count = city.Count()
};
将“数据”分配给网格的数据源后,我得到了我需要的结果。 当我尝试使我的应用程序成为一种多语言友好的应用程序时,问题就出现了,我找不到将Grid的City和Count标题翻译成另一种语言的方法。
我试图做以下事情: 1.而不是城市,在linq表达式中写入GetLocalResource(“City”)而不是术语“City”,它不起作用。
2.然后以编程方式更改网格的属性,因为每个动作的linq表达式不同,取决于我所需的客户端,我的aspx页面上没有预制列,所以我无法访问grid.Column属性 - 始终标记为0。
3.在DataTable中输出linq的所有数据,我知道这个应该可以工作,但是这样做感觉不对,看起来有点笨拙,我想要一个更清洁的解决方案。
提前致谢。
答案 0 :(得分:0)
我认为解决方案1将是您的最爱。但是您的LINQ查询被转换为SQL查询,当然没有像GetLocalResource这样的SQL方法。
显然,您的数据库仅存储城市代码,并且文化相关名称位于资源中。 我会尝试以下方法:使用您现有的LINQ语句来获取数据。将城市转换为视图中的本地化字符串,例如
<asp:Literal Text='<%# GetLocalResource(Eval("City"))' runat="server" />