none
pasar de modeo a vista RRS feed

  • Pregunta

  • saludos.

    por un lado tengo esto :

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;

    namespace PantCheck.Models
    {
        public class ConjTablas
        {
            public int PRO_COR_PRO { get; set; }
            public string PRO_NOM_PRO { get; set; }
            public string ETA_NOM_ETA { get; set; }

            public List<Proyectos> ProyectosDrpDown { get; set; }
            public List<Etapas> EtapasDrpDown { get; set; }
        }
        public class Proyectos
        {
            public int PRO_COR_PRO { get; set; }
            public string PRO_NOM_PRO { get; set; }
        }
        public class Etapas
        {
            public int PRO_COR_PRO { get; set; }
            public string ETA_NOM_ETA { get; set; }
        }
    }

    que se llama ConjTablas.cs

    Por Otro lado Tengo esto otro;

    using System;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using PantCheck.Models;
    using System.Collections.Generic;

    namespace PantCheck.Controllers
    {
        public class PantCheckController : Controller
        {
             // GET: PantCheck
            public ActionResult Index()
            {
                ConjTablas modelo = new ConjTablas();
                modelo.ProyectosDrpDown = TablasProyectos();
                modelo.EtapasDrpDown = TablasEtapas();
                return View();
            }
            public List<Proyectos> TablasProyectos()
            {
                IMAGINAEntities Db = new IMAGINAEntities();
                List<Proyectos> result = new List<Proyectos>();
                var obj = Db.SG_PRO.Select(u => u).ToList();
                if(obj!= null && obj.Count >0)
                {
                    foreach(var data in obj)
                    {
                        Proyectos modelo = new Proyectos();
                        modelo.PRO_COR_PRO = data.PRO_COR_PRO;
                        modelo.PRO_NOM_PRO = data.PRO_NOM_PRO;
                        result.Add(modelo);
                    }
                }
                return result;            
            }

            public List<Etapas> TablasEtapas()
            {
                IMAGINAEntities Db = new IMAGINAEntities();
                List<Etapas> result = new List<Etapas>();
                var obj = Db.SG_ETA.Select(u => u).ToList();
                if (obj != null && obj.Count > 0)
                {
                    foreach (var data in obj)
                    {
                        Etapas modelo = new Etapas();
                        modelo.PRO_COR_PRO = data.PRO_COR_PRO;
                        modelo.ETA_NOM_ETA = data.ETA_NOM_ETA;
                        result.Add(modelo);
                    }
                }
                return result;
            }
        }
    }

    que es el controlador.

    y por ultimo, la vista :

    @model PantCheck.Models.ConjTablas

        <label for="Lista de Proyectos">
            <select name="Proyectos">
                <option>Seleccione Proyecto</option>
                  @foreach (var Data in Model.ProyectosDrpDown)
                  {
                    <option @Data.PRO_COR_PRO>@Data.PRO_NOM_PRO </option>
                  }
            </select>
        </label>

    <label for="Lista De Etapas">
        <select name="Etapas">
            <option>Seleccione Etapa</option>
            @foreach (var Data in Model.EtapasDrpDown)
            {
                <option @Data.PRO_COR_PRO>@Data.ETA_NOM_ETA</option>
            }
        </select>
    </label>

    que es archivo Index

    el problema es que al ejecutarlo me indica en la vista que : Model.ProyectosDrpDown , no esta definida como instancia de un objeto.

    Alguien me puede indicar por que si al depurarlo me indica que estan con datos los modelos????

    saludos.

    sábado, 28 de abril de 2018 19:15

Respuestas