none
Listar objetos MVC

    Pergunta

  • Olá, estou utilizando o framework MVC e estou com algumas dificuldades de iniciante.
    Preciso listar objetos na tela, algo parecido com sites de ecommerce que listam objetos em forma de grid.
    Qual a maneira certa de fazer utilizando o framework MVC?
    Obrigado a todos!
    quarta-feira, 21 de outubro de 2009 18:03

Respostas

  • Oi mkoka,

    Teoricamente, na view você deveria montar o HTML resultante "manualmente", varrendo os itens a serem exibidos e montando a tabela HTML, com seus TR's e TD's. Caso você queira, poderia criar um extension method para o HtmlHelper que receba os dados e "monte" a sua tabela.

    No entanto, existe uma outra opção. Existem "componentes" em JQuery, (por exemplo, jqGrid) que auxilia na criação da interface. Você pode receber do Controller os dados no formato Json ou mesmo xml, que o jqGrid os exibe facilmente.

    Forte abraço,

    André Borges Medeiros
    MCPD, MCT
    quarta-feira, 21 de outubro de 2009 19:25

Todas as Respostas

  • Oi mkoka,

    Teoricamente, na view você deveria montar o HTML resultante "manualmente", varrendo os itens a serem exibidos e montando a tabela HTML, com seus TR's e TD's. Caso você queira, poderia criar um extension method para o HtmlHelper que receba os dados e "monte" a sua tabela.

    No entanto, existe uma outra opção. Existem "componentes" em JQuery, (por exemplo, jqGrid) que auxilia na criação da interface. Você pode receber do Controller os dados no formato Json ou mesmo xml, que o jqGrid os exibe facilmente.

    Forte abraço,

    André Borges Medeiros
    MCPD, MCT
    quarta-feira, 21 de outubro de 2009 19:25
  • Olá André.
    Eu vou pesquisar sobre esse JQuery, mas por enquanto eu implementei montando manualmente.

    Eu estava querendo criar um extension Method como vc disse, pois eu pretendo usar mais de uma vez e para ficar com tamanho dinâmico.
    minha dúvida porém é que, como pode ser visto no código abaixo, para cada célula eu monto uma partial view, pelo que eu sei até agora, o extension method gera código html direto.
    tem como eu criar uma view nos extensions methods?

    Código:

     

    <table>
            <th>
            </th>
            <th>
            </th>
            <th>
            </th>
            <% For contador As Integer = 0 To Model.Count%>
                    <tr>
                    <td>
                        <% If contador < Model.Count Then%>
                            <% Html.RenderPartial("DetalhesEvento", Model(contador))%>
                        <% End If%>
                    </td>
                    <td>
                        <% If contador + 1 < Model.Count Then%>
                            <% Html.RenderPartial("DetalhesEvento", Model(contador + 1))%>
                        <% End If%>
                    </td>
                    <td>
                        <% If contador + 2 < Model.Count Then%>
                            <% Html.RenderPartial("DetalhesEvento", Model(contador + 2))%>
                        <% End If%>
                    </td>
                    </tr>
                    <% contador += 3 %>
            <% Next%>    
        </table>

     

     

     

    quarta-feira, 21 de outubro de 2009 19:42