【发布时间】:2010-08-18 14:25:35
【问题描述】:
我正在尝试为我的系统使用 jquery DataTables 插件,使用 Web 服务通过 ajax 调用填充数据。
我需要从 web 服务返回一个这样的列表:List<List<string>>;
我有大约 120 个不同的域类被它用作核心数据对象,所以我需要某种系统,我可以从不同的域类中获取数据并以某种自动的方式将它们转换为 List<List<string>> .
我获取数据的方式是这样的(示例代码):
List<Core.Room> coreDataList = Core.GetRoomsInHotel(int hotelID);
我一直在研究 DynamicLinq 和 System.Reflection,但一无所获 :(
更新:
我需要从 web 服务返回一个这样的数组:
[
["data-col-1","data-col-2","data-col-3","data-col-4"],
["data-col-1","data-col-2","data-col-3","data-col-4"],
["data-col-1","data-col-2","data-col-3","data-col-4"]
]
为了填充这个数组,我有大约 120 个不同属性的域类列表,我需要动态访问每个属性:
对于一个房间,基于一个看起来像这样的对象:
public class Room {
public int ID { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public string LongName { get; set; }
}
[
["ID", "Double","DBL"],
["ID", "Single","SNG"],
["ID", "Suite","SUI"]
]
酒店:
public class Hotel {
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public int RoomCount { get; set; }
public int FloorCount { get; set; }
}
[
["1","Plaza","153","12"],
["2","Astoria","568","25"]
]
我有一个带有列表配置的 XML 文件:
<list id="29">
<readable_name>Hotels - Roomtypes - List all roomtypes in system</readable_name>
<no_data_message>No roomtypes found</no_data_message>
<cols>
<col width="0" visible="false" datafield="ID" type="key" headertext="ID" />
<col width="70" visible="true" datafield="Name" type="string" headertext="Name" />
<col width="30" visible="true" datafield="Type" type="string" headertext="Type" />
</cols>
</list>
所以我根据要加载的列表从 XML 文件中提取配置。我根据列表 ID 调用数据存储,并获取我想要的任何域类(房间/酒店)的列表。我遍历返回的列表并生成一种数组,以便可以填充页面上的列表。
我希望这可以澄清一些事情......
【问题讨论】:
-
请添加更多详细信息。您要填充的字符串列表中的字符串是什么?你想用“coreDataList”做什么?
-
List
coreDataList = ... List coreDataList = ... 然后我需要将这些列表转换成一个 List - > 里面的列表是 coreDataList 中的一项,所有属性(或某些属性)都转换为字符串,然后将该行添加到要呈现到页面上的 dataTable 上的主行列表中。
标签: c# jquery .net jquery-datatables