Вернуть два списка для просмотра - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь вернуть два списка на мой взгляд, эти списки помогают мне заполнить какую-то сетку, я искал в Интернете и не могу найти решение, я новичок в этом

Мой контроллер

 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);
    }

в обратном представлении пытался вернуться к представлению и двум моим спискам, чтобы заполнить две веб-сетки, только что я получил ошибку, но я хочу знать, как эти два списка объединяются, чтобы я мог заполнить свойсетка

1 Ответ

1 голос
/ 24 мая 2019

Поскольку оба списка относятся к одному и тому же типу, т.е. 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 );
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...