我正在尝试返回两个列表,这些列表可以帮助我填充一些网络网格,我在网上搜索了却找不到解决方案,这是我的新手
我的控制器
public ActionResult Index()
{
List<WebGrid> list = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Cat_Proyecto
join b in dc.Cat_Pais on a.Id_Pais equals b.ID
join c in dc.Cat_estado on a.Id_Estado equals c.Id
select new WebGrid
{
ID = a.ID,
ID_kEY = a.ID_kEY,
Cliente = a.Cliente,
Tipo_servicio = a.Tipo_servicio,
Descripcion = a.Descripcion,
Contratista = a.Contratista,
INCA_PM = a.INCA_PM,
Importe_INCA = a.Importe_INCA,
Importe_Cliente = a.Importe_Cliente,
calle = a.calle,
colonia = a.colonia,
Estado = c.Estado,
Pais = b.Pais
});
list = v.ToList();
}
List<WebGrid> list_Usuario = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Usuarios
select new WebGrid
{
Usuario = a.Usuario,
nombres = a.Nombres,
apellidos = a.Apellido_Paterno,
empresa = a.Area_Empresa,
estatus_Usuario = a.Estatus,
alcance = a.Id_Alcance
});
list_Usuario = v.ToList();
}
return View("../Admin/Administrador", list, list_Usuario);
}
在返回视图中,试图返回到视图和我的两个列表来填充两个Web网格,只是我得到一个错误,但我想知道如何将这两个列表组合在一起才能填充网格
答案 0 :(得分:1)
由于两个列表的类型相同,即List<WebGrid>
您可以使用AddRange并同时连接列表和传递视图
public ActionResult Index()
{
List<WebGrid> list = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Cat_Proyecto
join b in dc.Cat_Pais on a.Id_Pais equals b.ID
join c in dc.Cat_estado on a.Id_Estado equals c.Id
select new WebGrid
{
ID = a.ID,
ID_kEY = a.ID_kEY,
Cliente = a.Cliente,
Tipo_servicio = a.Tipo_servicio,
Descripcion = a.Descripcion,
Contratista = a.Contratista,
INCA_PM = a.INCA_PM,
Importe_INCA = a.Importe_INCA,
Importe_Cliente = a.Importe_Cliente,
calle = a.calle,
colonia = a.colonia,
Estado = c.Estado,
Pais = b.Pais
});
list = v.ToList();
}
List<WebGrid> list_Usuario = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Usuarios
select new WebGrid
{
Usuario = a.Usuario,
nombres = a.Nombres,
apellidos = a.Apellido_Paterno,
empresa = a.Area_Empresa,
estatus_Usuario = a.Estatus,
alcance = a.Id_Alcance
});
list_Usuario = v.ToList();
}
list.AddRange(list_Usuario);
return View("../Admin/Administrador", list);
}
否则您可以创建一个类并使用它
public class WebGridModel
{
public List<WebGrid> List1{get;set;}
public List<WebGrid> List2{get;set;}
}
并像这样使用它
public ActionResult Index()
{
List<WebGrid> list = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Cat_Proyecto
join b in dc.Cat_Pais on a.Id_Pais equals b.ID
join c in dc.Cat_estado on a.Id_Estado equals c.Id
select new WebGrid
{
ID = a.ID,
ID_kEY = a.ID_kEY,
Cliente = a.Cliente,
Tipo_servicio = a.Tipo_servicio,
Descripcion = a.Descripcion,
Contratista = a.Contratista,
INCA_PM = a.INCA_PM,
Importe_INCA = a.Importe_INCA,
Importe_Cliente = a.Importe_Cliente,
calle = a.calle,
colonia = a.colonia,
Estado = c.Estado,
Pais = b.Pais
});
list = v.ToList();
}
List<WebGrid> list_Usuario = new List<WebGrid>();
using (Web_INCAEntities dc = new Web_INCAEntities())
{
var v = (from a in dc.Usuarios
select new WebGrid
{
Usuario = a.Usuario,
nombres = a.Nombres,
apellidos = a.Apellido_Paterno,
empresa = a.Area_Empresa,
estatus_Usuario = a.Estatus,
alcance = a.Id_Alcance
});
list_Usuario = v.ToList();
}
var returnObj = new WebGridModel
{
List1= list;
List2=list_Usuario ;
}
return View("../Admin/Administrador", returnObj );
}