none
Ajuda com c# com MVC Básico RRS feed

  • Pergunta

  • Boa tarde pessoal, estou com um problema em relação ao Visual Studio c# 2019 e MVC. Vamos lá para o problema.

    Criei um projeto com MVC 5 para receber dados de uma View (formulário  em HTML), e outra view (código em html) para mostrar os dados digitados no formulário. Mas ao preencher os dados no formulário e mandar para para o método Lista (controllers) ele dá um erro que não encontrou a Lista. Para ajudar estou colocando todo o código. Sei que o código é muito simples, mas é apenas um começo para eu entender o procedimento e avançar em novas funções. 

    Peço ajuda aos colegas do fórum para tentar resolver o porque a View não abre como mostrado na imagem em anexo.

    Controllers 

    Nome: ModelController.cs

     

       public class ModelController : Controller
        {

            // GET: Model
            public ActionResult Form()
            {
                return View();
            }

            [HttpPost]
            public ActionResult Lista(int Codigo, string Nome, string Curso, string Cidade, int Idade)
            {
                Aluno aluno = new Aluno();

                aluno.setCodigoAluno(Codigo);
                aluno.setNomeAluno(Nome);
                aluno.setCursoAluno(Curso);
                aluno.setCidadeAluno(Cidade);
                aluno.setIdadeAluno(Idade);

                ViewData["Codigo"] = aluno.getCodigoAluno();
                ViewData["Nome"] = aluno.getNomeAluno();
                ViewData["Curso"] = aluno.getCursoAluno();
                ViewData["Cidade"] = aluno.getCidadeAluno();
                ViewData["Idade"] = aluno.getIdadeAluno();

                return View();
            }
        }

    Models

    public class Aluno
        {
            int codigoAluno;
            string nomeAluno;
            string cursoAluno;
            string cidadeAluno;
            int idadeAluno;

            public void setCodigoAluno(int codigo)
            {
                this.codigoAluno = codigo;
            }

            public void setNomeAluno(string nome)
            {
                this.nomeAluno = nome;
            }

            public void setCursoAluno(string curso)
            {
                this.cursoAluno = curso;
            }

            public void setCidadeAluno(string cidade)
            {
                this.cidadeAluno = cidade;
            }

            public void setIdadeAluno(int idade)
            {
                this.idadeAluno = idade;
            }

            public int getCodigoAluno()
            {
                return codigoAluno;
            }

            public string getNomeAluno()
            {
                return nomeAluno;
            }

            public string getCursoAluno()
            {
                return cursoAluno;
            }

            public string getCidadeAluno()
            {
                return cidadeAluno;
            }

            public int getIdadeAluno()
            {
                return idadeAluno;
            }
        }

    Views

    Dentro da View: Model criei os arquivos de View

    Form.cshtml

        

    @{
        ViewBag.Title = "Form";
    }

    <h2>Form</h2>

    <form action="Lista" method="post" class="form-horizontal">
        <fieldset>
            <legend>Listagem de Alunos</legend>
        </fieldset>

        <div>
            <label for="Codigo">Código</label>
        </div>

        <div>
            <input type="number" name="Codigo" />
        </div>

        <div>
            <label for="Nome">Nome</label>
        </div>

        <div>
            <input type="text" name="Nome" />
        </div>

        <div>
            <label for="Curso">Curso</label>
        </div>

        <div>
            <input type="text" name="Curso" />
        </div>

        <div>
            <label for="Cidade">Cidade</label>
        </div>

        <div>
            <input type="text" name="Cidade" />
        </div>

        <div>
            <label for="Idade">Idade</label>
        </div>

        <div>
            <input type="number" name="Idade" />
        </div>

        <br/>
        <p><input type="submit" value="Enviar" /></p>
    </form>

    Lista.cshtml

    @{
        ViewBag.Title = "Lista";
    }

    <h2>Lista</h2>

    <p><h3>Teste de Execução da camada Models através do método Lista</h3></p>

    <table style="width:100%" class="table table-striped">
        <tr>
            <th>Codigo</th>
            <th>Nome</th>
            <th>Curso</th>
            <th>Cidade</th>
            <th>Idade</th>
        </tr>

        <tr>
            <td>@ViewData["Codigo"]</td>
            <td>@ViewData["Nome"]</td>
            <td>@ViewData["Curso"]</td>
            <td>@ViewData["Cidade"]</td>
            <td>@ViewData["Idade"]</td>
        </tr>
    </table>

    RouterConfig

            public static void RegisterRoutes(RouteCollection routes)
            {
                routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

                routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    defaults: new { controller = "Model", action = "Form", id = UrlParameter.Optional }
                );
            }

    segunda-feira, 15 de março de 2021 20:25