通过 linq 数据源修改网格 asp.net

本文关键字:asp net 网格 修改 linq 数据源 通过 | 更新日期: 2023-09-27 18:32:46

>问候,我正在使用一个网格,它从 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()
           };

将"数据"分配给网格的数据源后,我得到了我需要的结果。当我尝试使我的应用程序对多语言友好时,问题就出现了,并且我找不到将网格的"城市"和"计数"标题翻译成另一种语言的方法。

我尝试执行以下操作:1.代替城市,在linq表达式中写GetLocalResource("City"(而不是术语"City",它不起作用。

2.更改网格的属性 但是,从编程上讲,由于每个操作的 linq 表达式都不同,具体取决于我的客户端所需的内容,因此我的 aspx 页面上没有预制列,因此我无法访问网格。列属性 - 始终标记为 0。

3.将linq的所有数据放在DataTable中,我知道这个应该可以工作,但是这样做感觉不对,似乎有点笨拙,我想要一个更干净的解决方案。

提前谢谢。

通过 linq 数据源修改网格 asp.net

我想解决方案 1 将是您的最爱。但是您的 LINQ 查询被转换为 SQL 查询,当然没有像 GetLocalResource 这样的 SQL 方法。

显然,您的数据库仅存储城市代码,并且与区域性相关的名称位于资源中。我会尝试以下方法:使用现有的 LINQ 语句来获取数据。将城市转换为视图中的本地化字符串,例如

<asp:Literal Text='<%# GetLocalResource(Eval("City"))' runat="server" />