Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从LINQ结果集中删除列名_Jquery_Json_Linq_Datatable - Fatal编程技术网

Jquery 从LINQ结果集中删除列名

Jquery 从LINQ结果集中删除列名,jquery,json,linq,datatable,Jquery,Json,Linq,Datatable,不知道我的问题是对的还是我的计划是对的,但我正在使用jquerydatatable插件,并从Json转换的LINQ结果中获取它的datasource 我的问题是,我的resultset包含来自我的datatable(ado)的列的名称,我认为Jquery datatable(客户端)不需要这些名称 在将LINQ结果转换为json之前,是否可能不包括或删除LINQ结果中的列名 这是我的服务器代码 context.Response.ContentType = "application/json";

不知道我的问题是对的还是我的计划是对的,但我正在使用
jquery
datatable插件,并从
Json
转换的
LINQ
结果中获取它的
datasource

我的问题是,我的resultset包含来自我的datatable(ado)的列的名称,我认为Jquery datatable(客户端)不需要这些名称

在将LINQ结果转换为json之前,是否可能不包括或删除LINQ结果中的列名

这是我的服务器代码

 context.Response.ContentType = "application/json";
 var y = from t in dt select t;
 ret = JsonConvert.SerializeObect(y, Formatting.None);

 context.Response.Write(ret);
上面的代码返回一个包含所有列名的结果。我也在使用JSON.NET

下面是我如何填充我的dt

dsTableAdapters.dtTableAdapter adap = new dsTableAdapters.dtTableAdapter();
adap.Fill(ds.dt);
输出JSON:

[
[
    "COL1": 1,
    "COL2": "R1C2"
},
{
    "COL1: 2,
    "COL2": "R2C2"
},
{
    "COL1": 3,
    "COL2": "R3C3"
}
]
基于jquery Datatable插件的所需输出必须是:

[
[
    1,
    "R1C2"
],
[
    2,
    "R2C2"
],
[
    3,
    "R3C3"
]
]
var y=(从dt.AsEnumerable()中的t开始)
选择新的{COL1=t.Field(“FirstName”),
COL2=t.Field(“LastName”)}.ToList();
假设dt是您的DataTable,在其中有两列名为FirstName和LastName,您只想输出它们

这会奏效的。测试


DataTable上的
AsEnumerable
扩展方法将返回数据行的集合。然后,使用所需字段从Linq结果进行投影。因为它是dataRow类型,所以需要指定每个列的类型

但是如何为数据给出表的列名呢?我不知道我是否理解你的问题,但我只做了LINQ FROM T IN DT SELECT NEW{T.COL1,T.COL2}然后转换为json请在下面的代码中a)通过linq加载数据并将其转换为json,b)使用datatable在客户端使用json。database和datatable都是不同的东西。。。jquery是javascript框架,json是传输数据的标准数据结构,顺便说一句,抱歉耽搁了。这是我的服务器代码。谢谢Shyju,但我已经尝试过了,结果是一样的。我想如果我只包括一列,那就行了。变量y=(从dt中的t选择t.FirstName).ToList();只使用要在选择部分中输出的列。结果仍然相同,仍然有列名。非常感谢。但是在将其转换为JSON之后。仍然有列名。这是JSON之后的输出。[{“名称”:22,“lname”:“螺旋钻初始处理-中压干油分离器MBD-125出液口”},{“名称”:23,“lname”:“螺旋钻初始处理-中压干油分离器MBD-125出液口”},{“名称”:24,“lname”:“螺旋钻初始处理-中压干油分离器MBD-125出液口”},{“名称”:1,“lname”:“螺旋钻初始处理-中压干油分离器MBD-125出液口”}]
var y = (from t in dt.AsEnumerable() 
         select new { COL1= t.Field<string>("FirstName"), 
                      COL2 = t.Field<string>("LastName") }).ToList();