C# 通过LINQ查询将ServiceController对象绑定到列表
我有一门四弦的课。我尝试使用ServiceController遍历每个Windows服务,然后将其绑定到类对象列表 这两个选项中哪一个更好,以及如何做到这两个 我的目标是将此列表作为数据源绑定到GridviewC# 通过LINQ查询将ServiceController对象绑定到列表,c#,linq,C#,Linq,我有一门四弦的课。我尝试使用ServiceController遍历每个Windows服务,然后将其绑定到类对象列表 这两个选项中哪一个更好,以及如何做到这两个 我的目标是将此列表作为数据源绑定到Gridview public class ServiceDetails { public string ServiceName { get; set; } public string Status { get; set; } public string Description {
public class ServiceDetails
{
public string ServiceName { get; set; }
public string Status { get; set; }
public string Description { get; set; }
public string Location { get; set; }
}
protected void GetAllServices(string machinename)
{
ServiceController[] services = ServiceController.GetServices(machinename);
List<ServiceDetails> svcdetails = new List<ServiceDetails>();
// option 1 - to iterate through each and bind to list
foreach (ServiceController service in services)
{
//How to bind the servicecontroller object to a list.?
}
// option 2 - Bind the List using LINQ query
List<ServiceDetails> items = svcdetails.ForEach(service=> LINQ Query...?
Gridview.DataSource = items;
Gridview.DataBind();
}
公共类服务详细信息
{
公共字符串ServiceName{get;set;}
公共字符串状态{get;set;}
公共字符串说明{get;set;}
公共字符串位置{get;set;}
}
受保护的void GetAllServices(字符串machinename)
{
ServiceController[]服务=ServiceController.GetServices(machinename);
List svcdetails=新列表();
//选项1-迭代每个选项并绑定到列表
foreach(服务中的ServiceController服务)
{
//如何将servicecontroller对象绑定到列表。?
}
//选项2-使用LINQ查询绑定列表
List items=svcdetails.ForEach(服务=>LINQ查询…?)。。。?
Gridview.DataSource=项目;
Gridview.DataBind();
}
请确保已添加以下内容:
using System.Linq;
var items = services.Select(s=>new ServiceDetails{
ServiceName = s.ServiceName,
Status = s.Status,
Description = s.Description,
Location = s.Location
}).ToList();
然后执行以下操作:
using System.Linq;
var items = services.Select(s=>new ServiceDetails{
ServiceName = s.ServiceName,
Status = s.Status,
Description = s.Description,
Location = s.Location
}).ToList();
我假设类ServiceController的属性名。然后
Gridview.DataSource = items;
完成此操作后,您必须在View/aspx页面中配置列映射