Estoy realizando una aplicacion en net core, la cual se trata de subir multiples imagenes que van asociados a un evento y mostrarlas cuando se le de clic a dicho evento seleccionado.
Lo estoy realizando de la siguiente manera, este es mi modelo:
public class Evento
{
public int IdEvento { get; set; }
[Display(Name = "Selecciona la foto de portada")]
[Required]
public IFormFile ImagenPortada { get; set; }
[Display(Name = "Selecciona las imagenes para el evento")]
[Required]
public IFormFileCollection GaleriaFotosEvento { get; set; }
public List<EventoGaleria> Galeria { get; set; }
public IEnumerable<EventoGaleria> Galeria2 { get; set; }
}
Mi controlador:
[HttpGet]
public async Task<IActionResult> VerEvento(int idEvento)
{
var evento = await repositorioEvento.ObtenerEventoPorId(idEvento);
var fotosPorIdEvento = await repositorioEvento.ObtenerFotosPorIdEvento(idEvento);
var modelo = new Evento
{
IdEvento = evento.IdEvento,
Galeria = fotosPorIdEvento
};
return View(modelo);
}
Este es mi repositorio:
public async Task<List<EventoGaleria>>ObtenerFotosPorIdEvento(int eventoId)
{
using var connection = new MySqlConnection(connectionString);
return (List<EventoGaleria>)await connection.QueryAsync<EventoGaleria>("SELECT * FROM `evento_galeria` WHERE EventoId = @EventoId;", new { eventoId }, commandType: CommandType.Text);
}
Hasta aqui me funciona bien por que estoy obteniendo todas las imagenes que estan relacionadas con el IdEvento, pero en mi vista no muestra las imagenes, asi es como estoy tratando de mostrarlas:
@for (var imagen = 0; imagen > Model.Galeria.Count(); imagen++){
<img src="@Model.Galeria[imagen].Url" alt="Image" class="img-fluid">
}
Me ayudarian mucho comentandome si estoy haciendo algo mal, ya solo es mostrar la imagen.