none
Como utilizar componentes ASP.NET no ASP.NET MVC ? RRS feed

  • Pergunta

  • Olá pessoal,

    Estou com uma duvida, eu estava começando uma aplicação ASP.NET padrão, mas ai resolvi mudar para ASP.NET MVC, tenho uma MasterPage, e nesta MasterPage tem um asp:repeater, na aplicação ASP.NET MVC não estou conseguindo localizar o repeater.
    Minha duvida é tem como utilizar os componentes ASP.NET no ASP.NET MVC? Usando arquivos View??
    Tem de utilizar uma ViewMasterPage ou uma MasterPage do ASP.NET mesmo para resovler?

    Aguardo voces,

    Obrigado

    Att.
    Leonardo Lima
    quarta-feira, 10 de março de 2010 14:14

Respostas

  • Fala Leonardo.

    Sim, é possível usar WebControls nas Views do ASP.NET MVC, porém parcialmente... Uma vez que no ASP.NET MVC não existe ViewState, PostBack, etc... várias funcionalidades do WebControls não vão funcionar.

    Mas o principal comentário que gostaria de fazer é o seguinte: Na minha opinião não é recomendável utilizar WebControls no ASP.NET MVC... Pela própria natureza dos WebControls você corre o risco de começar a colocar determinadas "decisões" na View que deveriam estar no Controller...

    Se não me engano já conversamos sobre isso aqui mesmo no fórum, mas não localizei a thread...


    Forte abraço,

    André Borges Medeiros
    MCT, MCPD, MCTS

    >> Se a resposta solucionar sua dúvida, favor Votar como Útil
    quarta-feira, 10 de março de 2010 18:03
    Moderador
  • Olá Leonardo,

    Assim como o André disse, não é recomendável que você utilize WebControl se vai utilizar MVC

    Você pode simular o comportamento do repeater usando  FOR na view e passando os dados para o seu Model através do controle

     

    http://blogs.msdn.com/brada/archive/2008/01/29/asp-net-mvc-example-application-over-northwind-with-the-entity-framework.aspx

            <% foreach (var product in ViewData) { %>
            
                <li>
                    <img src="/Content/Images/<%=product.ProductID%>.jpg" alt="<%=product.ProductName %>" /> 
                    <br/> 
                    <a href="/Products/Detail/<%=product.ProductID %>"> <%=product.ProductName %> </a>
                    <br />
                    Price: <%=String.Format("{0:C2}", product.UnitPrice)%> 
                      <span class="editlink"">
                        (<%= Html.ActionLink("Edit", new { Action="Edit", ID=product.ProductID })%>)
                    </span>
               
                </li>
        
            <% } %

    domingo, 28 de março de 2010 19:36

Todas as Respostas

  • Fala Leonardo.

    Sim, é possível usar WebControls nas Views do ASP.NET MVC, porém parcialmente... Uma vez que no ASP.NET MVC não existe ViewState, PostBack, etc... várias funcionalidades do WebControls não vão funcionar.

    Mas o principal comentário que gostaria de fazer é o seguinte: Na minha opinião não é recomendável utilizar WebControls no ASP.NET MVC... Pela própria natureza dos WebControls você corre o risco de começar a colocar determinadas "decisões" na View que deveriam estar no Controller...

    Se não me engano já conversamos sobre isso aqui mesmo no fórum, mas não localizei a thread...


    Forte abraço,

    André Borges Medeiros
    MCT, MCPD, MCTS

    >> Se a resposta solucionar sua dúvida, favor Votar como Útil
    quarta-feira, 10 de março de 2010 18:03
    Moderador
  • Olá Leonardo,

    Assim como o André disse, não é recomendável que você utilize WebControl se vai utilizar MVC

    Você pode simular o comportamento do repeater usando  FOR na view e passando os dados para o seu Model através do controle

     

    http://blogs.msdn.com/brada/archive/2008/01/29/asp-net-mvc-example-application-over-northwind-with-the-entity-framework.aspx

            <% foreach (var product in ViewData) { %>
            
                <li>
                    <img src="/Content/Images/<%=product.ProductID%>.jpg" alt="<%=product.ProductName %>" /> 
                    <br/> 
                    <a href="/Products/Detail/<%=product.ProductID %>"> <%=product.ProductName %> </a>
                    <br />
                    Price: <%=String.Format("{0:C2}", product.UnitPrice)%> 
                      <span class="editlink"">
                        (<%= Html.ActionLink("Edit", new { Action="Edit", ID=product.ProductID })%>)
                    </span>
               
                </li>
        
            <% } %

    domingo, 28 de março de 2010 19:36
  • Leonardo, se quiser usar controles vá de asp.net classic. Se quiser controles para MVC dê uma olhada nos do Telerik e similares específicos para MVC.
    De uma olhada no MVC contrib também, tem alguns helpers como gridview, html helpers, isso vai te ajudar a se desprender mais facilmente dos controles asp.net.

    Espero ter ajudado.


    www.twitter.com/wirebane Se a resposta te ajudar, marque como útil.
    quinta-feira, 17 de junho de 2010 14:55
  • Grande Leonardo, cuidado com sua colocação.

    Não existe essa de aplicação asp.net comum.

    ASP.NET é o framework que cuida da camada web que funciona em cima do .NET Framework.

    Tanto é que temos:

    1. ASP.NET Web Forms
    2. ASP.NET MVC 2
    3. ASP.NET AJAX
    4. ASP.NET Dynamic Data

    e sobre o repeater, use o foreach, e se acostume pois se voce deseja trabalhar com asp.net mvc, vai usar muito ele.

    pro exemplo, grid agora é feito tbm com foreach :D


    Contato:albertim_brasil@hotmail.com - Se ajudei, marca como útil.
    Twitter: Me siga!!
    Blog:http://dotnettime.spaces.live.com/

    sexta-feira, 18 de junho de 2010 00:45