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

problemas com a navegação - Método Router Link

Estou tendo problemas para acessar a página de listagem de produtos. Dá InvalidArgumentExeption no primeiro argumento do método RouteLink, o "LinkText". Sou informado que este argmuento não pode ser null ou Empty, mas está correto:

<td>@Html.RouteLink(produto.Nome,"VisualizaProduto", new {id = produto.Id})</td>
`

Achei que fosse algum problema com a Strongly Typed View ou no Foreach, mas, aos meus olhos está certo:

 @foreach (var Produto in Model)
                {
                    <tr>
                        <td>@Produto.Id</td>
                        <td>@Html.RouteLink(Produto.Nome,"VisualizaProduto", new {id = Produto.Id})</td>
                        <!--<td@Html.ActionLink(Produto.Nome,"Visualiza")</td-->
                        <td>@Produto.Quantidade</td>
                    </tr>
                }

E a classe Produto Controller também parece estar correta:

[Route("produtos", Name="ListaProdutos")] //Não esquecer de inserir o método routers.MapMvcAttributeRoutes(); no ~/AppStart/RouteConfig.cs
        public ActionResult Index()
        {
            ProdutosDAO dao = new ProdutosDAO();
            IList<Produto> produtos = dao.Lista();
            //ViewBag.Produtos = produtos;
            return View(produtos);

E a Ilist foi declarada na variável Model:

@model IList<CaelumEstoque.Models.Produto>
`

Alguma dica???

2 respostas

Fala Thiago, beleza?

Cara, me manda um email em gabriel.ferreira@caelum.com.br e vamos falar por lá :)

solução!

O problema era que alguns produtos estava com nome nulo, e o overload do método RouteLink que o Thiago estava usando não aceita que o primeiro parâmetro seja nulo :)