none
View para exibir lista de cursos RRS feed

  • Pergunta

  • Bom dia,

    Tenho a seguinte dúvida: estou criando uma view para retornar uma lista de cursos oferecidos, porém, empaquei no desenvolvimento da mesma. abaixo segue o código para a geração da referida view:

    using CursoAspNet.Models;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace CursoAspNet.Controllers
    {
        public class ListaCursosController : Controller
        {
            // GET: ListaCursos
            public ActionResult ListaCursos()
            {
                List<Curso> listaCurso = new List<Curso>();
    
                ViewBag.Title = "Lista de Cursos Oferecidos";
    
                ViewData["Cursos"] = listaCurso;
                
                return View();
            }
        }
    }

    O que posso estar fazendo de errado?

    Desde já agradeço a atenção.

    terça-feira, 10 de janeiro de 2017 12:28

Respostas

  • Amigo uma forma bem prática de fazer a lista é uma "View" fortemente tipada.

    public ActionResult ListaCursos()
    {
       //Seu contextto ctx
       var result = ctx.tbCurso.ToList();
       return View(result);
    }

    Já na sua view pode implementar assim:

    @model List<seunamespace.tbCurso>
    <table class="table table-hover">
      <thead>
        <tr>
           <th>#</th>
           <th>Curso</th>
        </tr>
      </thead>
    
    @Foreach(var item in Model)
    {
      <tr>
        <td>@item.idCurso</td>
        <td>@item.nmCurso></td>
      </tr>
    }
    <table>

    Lembrando que este exemplo supõe-se que você tem um contexto já mapeado com Entity Framework.

    quinta-feira, 9 de fevereiro de 2017 20:07

Todas as Respostas

  • Olá Marcio,

    De cara, o que está faltando são dados nessa lista (ela está vazia).

    O próximo passo seria fazer a consulta para retornar essa lista de cursos.

    Mas qual é a dúvida? Está dando algum erro? Qual a dificuldade?


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    terça-feira, 10 de janeiro de 2017 12:34
  • Minha dúvida é se estou no caminho certo para gerar a view que preciso. Agora, como preencho o list para exibição na view?

    Poderia dar um exemplo do como posso fazer isso? Sou novo em ASP.Net MVC e peço desculpas pelo transtorno.

    terça-feira, 10 de janeiro de 2017 12:42
  • Resolvi da seguinte forma:

     Curso curso = new Curso();
                curso.NomeCurso = "Asp.Net";
                curso.Descricao = "Desenvolvimento de aplicações web em ASP.Net";
    
                curso.NomeCurso = "Asp.Net MVC 5";
                curso.Descricao = "Desenvolvimento de aplicações web em ASP.Net MVC";
    
                curso.NomeCurso = "Visual Basic.Net";
                curso.Descricao = "Desenvolvimento de aplicações em Visual Basic.Net";
    
                curso.NomeCurso = "C# (sharp)";
                curso.Descricao = "Desenvolvimento de aplicações C# (sharp)";
    
                List<Curso> listaCurso = new List<Curso>();
                listaCurso.Add(curso);

    terça-feira, 10 de janeiro de 2017 12:57
  • Já que é iniciante,

    Recomendo assistir a série de vídeo aulas do Cleiton, são muito boas para quem está iniciando.

    Segue: https://www.youtube.com/watch?v=VbA_JZJtKaY

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    terça-feira, 10 de janeiro de 2017 12:59
  • Amigo uma forma bem prática de fazer a lista é uma "View" fortemente tipada.

    public ActionResult ListaCursos()
    {
       //Seu contextto ctx
       var result = ctx.tbCurso.ToList();
       return View(result);
    }

    Já na sua view pode implementar assim:

    @model List<seunamespace.tbCurso>
    <table class="table table-hover">
      <thead>
        <tr>
           <th>#</th>
           <th>Curso</th>
        </tr>
      </thead>
    
    @Foreach(var item in Model)
    {
      <tr>
        <td>@item.idCurso</td>
        <td>@item.nmCurso></td>
      </tr>
    }
    <table>

    Lembrando que este exemplo supõe-se que você tem um contexto já mapeado com Entity Framework.

    quinta-feira, 9 de fevereiro de 2017 20:07