2

问候,我正在使用从 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") 而不是城市,而不是术语“城市”,它不起作用。

2.以编程方式更改网格的属性,但是,由于每个操作的 linq 表达式不同,这取决于我想要的客户,我的 aspx 页面上没有预制列,所以我无法访问 grid.Column 属性 - 始终标记为0。

3.把linq的所有数据放在一个DataTable里面,我知道这个应该可以,但是感觉不太对劲,看起来有点笨拙,我想要一个更干净的解决方案。

提前致谢。

4

1 回答 1

0

I suppose solution 1 would be your favorite. But your LINQ query gets translated into an SQL-query and there is of course no SQL method like GetLocalResource.

Apparently your database stores only city codes and the culture dependent names are in the resources. I would try the following: use your existing LINQ statement to grab the data. Convert the city to a localized string within your view, e.g.

<asp:Literal Text='<%# GetLocalResource(Eval("City"))' runat="server" />
于 2012-04-30T12:01:42.307 回答