Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

154
Visualizações
Modelos múltiples de MVC en una sola vista

Quiero llegar a varios modelos en una sola vista. Tengo carpeta DAL y DbContext.

 class CvContext : DbContext { public CvContext() : base("CvContext") { } public DbSet<LinkModel> Links { get; set; } public DbSet<AboutModel> Abouts { get; set; } public DbSet<PortfolioModel> Portfolios { get; set; } public DbSet<SkillModel> Skills { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); } }

Y HomeController

 public class HomeController : Controller { private CvContext db = new CvContext(); public ActionResult Index() { return View(db.Links.ToList()); } }

Índice.cshtml

 @model IEnumerable<MvcCv.Models.LinkModel> <ul> @foreach (var item in Model) { <li> <a href="@Html.DisplayFor(modelItem => item.LinkUrl)"> @Html.DisplayFor(modelItem => item.LinkName) <span class="icon"></span> <span class="menu-icon"> <img src="@Url.Content(item.LinkImage)" alt="" /> </span> </a> </li> } </ul>

¿Cómo puedo llegar a todos los modelos? Usaré foreach para elementos en Modelo como Enlaces. Gracias.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Debe crear un modelo de vista de la siguiente manera:

 public class FooViewModel { public IEnumerable<LinkModel> Links { get; set; } public IEnumerable<AboutModel> Abouts { get; set; } public IEnumerable<PortfolioModel> Portfolios { get; set; } public IEnumerable<SkillModel> Skills { get; set; } }

Luego, desde su controlador, complételos según sus requisitos, como ejemplo:

 public ActionResult Index() { var model = new FooViewModel(); model.Links = db.Links.ToList(); model.Abouts = db.Abouts.ToList(); model.Portfolios = db.Portfolios.ToList(); model.Skills = db.Skills.ToList(); return View(model); }

Luego cambie el modelo en su vista a FooViewModel y todas sus propiedades estarán disponibles allí.

 @model FooViewModel <ul> @foreach (var item in Model.Links) { <li> @item </li> } </ul> <ul> @foreach (var item in Model.Links) { <li> @item </li> } </ul> // ....etc, obviously change the outputs as needed.
over 4 years ago · Santiago Trujillo Relatório

0

//suppose you have two Models public class student { public int Id public string Name{get;set;} } public class class { public int Id public string Name{get;set;} } // Now combine these two class Model in single Model for example: public class Mixmodel { public Student student {get;set;} public Class class {get;set;} } //here is the Home controller of the Index view @model projectName.MixModel @foreach(var item in Model.class) { @html.displayfor(item.class.Name) } @foreach(var item in Model.student) { @html.displayfor(item.student.Name) }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda