none
links con cada campo de la tabla RRS feed

  • Pregunta

  • hola, estoy intentando hacer una lista de links con cada fila de una tabla, para ello estoy haciendo esto pero algo no me funciona, ¿alguien puede echarme una mano?

            <nav>
                <div style="margin:8px">
                    <h5> Unidad:</h5>
                </div>
                <ul>
    
                    @For Each item In Model.Vista_Unidades
                        @<li>
    
                            &nbsp &nbsp @Html.ActionLink("@item.nombre", "Index", "InventarioApli")
    
                        </li>
    
                    Next
    
    
                </ul>
    
    
            </nav>

    lo que intento es que se muestre en el lugar donde pone lista de aplicaciones.


    un saludo

    viernes, 7 de septiembre de 2018 12:51

Todas las respuestas

  • Tienes un problema aqui:

    @Html.ActionLink("@item.nombre", "Index", "InventarioApli")

    Fijate que has puesto una @ para cambiar de modo html a modo C#, pero dentro del modo c# has vuelto a poner otra @, que en este caso no procede porque item.nombre ya es C#, no es html. En resumidas cuentas, deberia ser asi:

    @Html.ActionLink(item.nombre, "Index", "InventarioApli")

    Puede que ademas haya mas errores, pero de entrada eso hay que corregirlo.

    viernes, 7 de septiembre de 2018 13:02
  • Siento lo de la @antes del item, antes estaba como tu me has dicho y no funcionaba igualmente
    viernes, 7 de septiembre de 2018 14:41
  • [...] y no funcionaba
    Recuerda que en los foros nunca se debe decir "no funciona". Hay que explicar con todo detalle cuál es la forma en la que no funciona. Si da un mensaje de error, hay que copiar el mensaje completo, exacto y detallado, indicando la sentencia exacta en la que se produce. Si no de un error, sino que no produce los resultados esperados, hay que poner una muestra precisa y legible de dichos resultados, explicando en qué difieren de los esperados. En el caso de una página web, no es suficiente con poner una captura de pantalla porque posiblemente haya mucho código oculto dentro del HTML que no es mostrado por el navegador, así que se necesita ver cuál es la porción relevante del HTML que se ha generado durante la ejecución para poder determinar las causas del error.
    viernes, 7 de septiembre de 2018 15:26
  • Culpa mia no estoy frente al pc
    viernes, 7 de septiembre de 2018 17:15
  • No te preocupes, a mí también a veces me pasa, cuando respondo a una pregunta sin estar delante de mi PC y por lo tanto contesto sin agregar un ejemplo que de otra manera sí que agregaría.

    Cuando tengas oportunidad, pon aquí una muestra del HTML que se genera al ejecutar la página, que muchas veces da una pista muy buena acerca de qué puede ser lo que falta o sobra en el código.

    viernes, 7 de septiembre de 2018 17:23
  • aqui te dejo el mensaje que me ha dado al ejecutar la aplicacion, estoy haciendo un bucle con los elementos de una tabla declarada en e entiti, solo me da ese problema, creo que no estoy utilizando correctaente el for, aunque ya he usado el for en otras ocasiones.

    domingo, 9 de septiembre de 2018 9:41
  • El error de "NullReferenceException" precisamente en la línea del For Each indica que la colección sobre la que estás iterando es Nothing. Esto implica que Vista_NombresEmpleadosDA no se ha inicializado en el Modelo. Revisa el controlador que llama a esta vista, poniendo si es necesario un punto de ruptura con el debugger, y comprueba el valor que estás metiendo en el Model, que debe tener algún problema.
    domingo, 9 de septiembre de 2018 14:45
  • ahora tengo otro problema, estoy intentando hacer el bucle for en _Layout.vbhtml, antes de que se cargue ninguna vista, como puedo acceder a una ccoleccion?

    hago esto:

    @ModelType CHJ.InventarioAplicacionesMVC.Vista_NombresEmpleadosDA  al inicio de _layout luego intento hacer el bucle con 

    for each item in model

    me dice que item no es un tipo coleccion, tambien lo he intentado con viewbag.coleccion pero no se en que parte completar la coleccion ya que _layout no tiene controller yo los bucles for los hacia de esa manera en las views cargando las colecciones en el controller pero aqui no se como hacerlo.

    domingo, 9 de septiembre de 2018 21:47
  • Creo que tienes un error acerca del Layout. No se carga "antes de que se cargue ninguna vista". Siempre se carga conjuntamente con una vista. Es decir, el controlador llama a la vista y entonces el código interno de MVC toma el vbhtml de la vista y el vbhtml de _layout y los junta en uno, y sirve al navegador el conjunto resultante.

    Por lo tanto el modelo que tienes siempre es el mismo que se pasó a la Vista que ocasionó que se cargase el Layout, y el ViewBag es el que haya cargado el controlador en el momento de llamar a la Vista que ocasionó la carga del Layout.

    lunes, 10 de septiembre de 2018 6:00
  • ¿como podria utilizar una variable viewbag con solo cbrir la aplicacion en el layout?
    lunes, 10 de septiembre de 2018 6:15
  • esto no me funciona no entiendo el motivo lo he hecho en otras aplicaciones
    lunes, 10 de septiembre de 2018 7:40
  • A juzgar por el mensaje de error, casi seguro que el problema no esta en la vista sino en el controlador. Te debe estar enviando null en Vista_Unidades.
    lunes, 10 de septiembre de 2018 10:30
  • ¿como podria utilizar una variable viewbag con solo abrir la aplicacion en el layout?

    Es imposible abrir la aplicacion en el layout.

    Siempre se tiene que abrir en un metodo de accion. Y el metodo de accion tiene que devolver una vista, no puede devolver el layout por si solo sin meterlo en una vista. Por lo tanto siempre tienes que pasar primero forzosamente por un metodo de accion antes de alcanzar el layout. El ViewBag lo puedes cargar en ese metodo de accion.

    lunes, 10 de septiembre de 2018 10:33
  • ya esta solucionado. he creado una variable  ViewBag.UnidadLayout = GetAllUnidadesCHJ() en el index del home controller y despues la he utilizado en  _Layout.vbhtml.

    ViewBag.UnidadLayout tambien la he tenido que poner en el index del controller principal para que se cargue cada vez que se ejecuta una vez dentro.

    lunes, 10 de septiembre de 2018 11:10