Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro no Ex. 6 da Aula 6 - Trabalhando Melhor com as views ao executar (F5)

http://localhost:51270/Produto/Visualiza

Erro do servidor na aplicacao  /.
The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult Visualiza(Int32)' in 'CaelumEstoque.Controllers.ProdutoController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parametername: parameters

Olá pessoal,

Alguém que possa ajudar? :) o erro foi só na View Visualiza

Obrigadoooo

2 respostas
solução!

Olá Graziela,

este erro está dizendo que ele não conseguiu executar o método Visualiza da classe ProdutoController porque o int id veio com o valor null. Na url que você mandou está assim: http://localhost:51270/Produto/Visualiza. Note que não foi enviado nenhum parâmetro de id na url, por isso a informação ficou null.

Quando você tentou rodar a aplicação, você acessou direto a Visualiza ou acessou a Index que tem a lista de produtos com links para a tela de edição? Porque como você precisa do id, tem que acessar primeiro a listagem e depois clicar no link de editar do produto: @Html.ActionLink(produto.Nome, "Visualiza", new { id = produto.Id })

Valeu Lucas, Ainda nao vi uma explicacao tao bem detalhada como a tua e para que entenda bem, só assim :D

Já entendi. Minha duvida era que no ato da execucao (F5) aparecia o url localhost:51270/Produto/Visualiza, sendo que só consigo fazer acesso através do url localhost:51270/produtos/6 uma vez que o snippet [Route("produtos/{id}",Name="VisualizaProduto")] public ActionResult Visualiza(int id) {//...} diz exatamente para por o id Da proxima já sei... e através de tua otima explicacao consegui entender outro erro do btn adiciona :) Muitissimo agradecida

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software