C# 在asp.net mvc中根据用户输入动态选择列

C# 在asp.net mvc中根据用户输入动态选择列,c#,sql,asp.net,asp.net-mvc,entity-framework,C#,Sql,Asp.net,Asp.net Mvc,Entity Framework,我向用户显示了一个屏幕,在那里他可以检查他想从数据库中获取哪些字段。基于选中的复选框,我想使用LINQ或lambda表达式编写一个查询,并在ASP.NET MVC中获取数据。如何做到这一点,因为列选择是动态的?例如,如果只选中了Name和Email列,则仅从数据库中获取这两列的数据 控制器 公共行动结果报告() { 返回视图(); } [HttpPost] 公共行动结果报告(员工环境管理计划) { 列出员工=新列表(); employees=db.employees.Select(x=>newe

我向用户显示了一个屏幕,在那里他可以检查他想从数据库中获取哪些字段。基于选中的复选框,我想使用LINQ或lambda表达式编写一个查询,并在ASP.NET MVC中获取数据。如何做到这一点,因为列选择是动态的?例如,如果只选中了Name和Email列,则仅从数据库中获取这两列的数据

控制器

公共行动结果报告()
{
返回视图();
}
[HttpPost]
公共行动结果报告(员工环境管理计划)
{
列出员工=新列表();
employees=db.employees.Select(x=>newemployees()
{
//仅选择用户选中的列
}).ToList();
返回视图();
}
看法

@model IEnumerable
@{
ViewBag.Title=“EmployeeReport”;
}
雇员报告
员工姓名
员工电子邮件
员工地址
员工姓名

您应该使用javascript并检查发送给查看的列。 并动态创建html元素

public ActionResult Report()
{
    return View();
}

[HttpPost]
public ActionResult Report(Employee emp)
{
    List<Employee> employees = new List<Employee>();

    employees = db.Employees.Select(x => new Employee()
                {
                    // select Only those columns which are checked by the user
                }).ToList();
    return View();
}