none
Mostrar datos en una vista MVC C# RRS feed

  • Pregunta

  • Hola, Hago una consulta a mi base de datos y selecciono una lista de datos, mee gustaria mostrar estos datos en la vista (no puedo usar forech, si pongo @Html.DropBoxFor se muestran correctamente, pero lo que yo quiero es q se muestren sin mas, tipo label, sin caja de texto ni nada, solo el texto rescatado de mi base de datos)

    He probado con viewBag, viewData... pero no se ya como hacerlo. ¿Podrían echarme una mano? llevo ya unos cuantos de días con esta tontería y no salgo de ella.

    Gracias.


    Jose

    • Cambiado Karen Malagón miércoles, 30 de septiembre de 2015 22:18 ASP.NET MVC issue
    lunes, 28 de septiembre de 2015 10:59

Todas las respuestas

  • hola

    pero porque no puedes usar foreach ? o sea es un foreach en la view a lo que te refieres, no?

    si pasas la lista en el model podrias usar

    @using ...
    
    @foreach(ClassXX item in Model){
    
        @item.Prop1 <br\>
    
    }

    como veras es importante definir el @using si es que la clase esta en algun namespace

    despues desde el controller seria

    public class xxController : Controller{
    
        public ActionResult Index(){
    
             //aqui recuperas la lista
    
            List<ClasXX> model = ....
    
            return View(model);
    
       }
    
    }


    Nota: porque no planteaste esta consulta en el foro deASP.NET MVC

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 28 de septiembre de 2015 11:25
  • Pensaba que la había planteado ahí, perdona.

    No puedo utilizar foreach porque:

    Error    1    La instrucción foreach no puede funcionar en variables de tipo 'MvcIntranet.Models.Mimodelo' porque 'MvcIntranet.Models.Mimodelo' no contiene ninguna definición pública para 'GetEnumerator'   

    Y si pongo

    @model INumerable<MvcIntranet.Models.Mimodelo> en vez de @model MvcIntranet.Models.Mimodelo , se me quita el error pero me salen muchos más errores por otros lados.


    Jose


    lunes, 28 de septiembre de 2015 11:31
  • hola

     >>La instrucción foreach no puede funcionar en variables de tipo 'MvcIntranet.Models.Mimodelo' porque 'MvcIntranet.Models.Mimodelo' no contiene ninguna definición pública para 'GetEnumerator'   

    pero entonces no estas enviando una lista a la view sino que se trara de una entidad simple

    deberias envair un List<Mimodelo>

    deberia ser

    @model List<MvcIntranet.Models.Mimodelo>

    pero recuerda que desde el action debes enviar esa lista

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 28 de septiembre de 2015 11:33
  • si pongo eso me salen mil errores:

    Error    1    'System.Collections.Generic.List<MvcIntranet.Models.Mimodelo>' no contiene una definición de 'cod_sede' ni se encontró ningún método de extensión 'cod_sede' que acepte un primer argumento de tipo 'System.Collections.Generic.List<MvcIntranet.Models.Mimodelo>' (¿falta una directiva de uso o una referencia de ensamblado?)  

    Y no puedo usar el código tal como está pero en vez que me muestre los datos a través de un ListBoxFor que me lo muestre como se haría con el forech ? O la única opcion es modificar todo el código ? Gracias


    Jose



    lunes, 28 de septiembre de 2015 11:42
  • >>System.Collections.Generic.List<MvcIntranet.Models.Mimodelo>' no contiene una definición de 'cod_sede'

    ok pero si solo cambias el teipo del modelo es seguro que donde uses la propiedad de la entidad directa va a fallar, porque ahora ya no tienes la entidad sino una lista

    >>Y no puedo usar el código tal como está pero en vez que me muestre los datos a través de un ListBoxFor que me lo muestre como se haría con el forech ?

    tal como esta seguramente no

    vas a tener que codificar el foreach para iterar por la lista que utiliza la view

    >>O la única opcion es modificar todo el código ?

    depdende de lo que quieras hacer, si cambias algo seguro debas adaptar el resto, puede que tengas que modificar todo o quizas una parte

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 28 de septiembre de 2015 12:02
  • Gracias !!

    Entiendo lo que me dices, a ver si soy capaz de hacerlo :(


    Jose

    lunes, 28 de septiembre de 2015 12:07