none
Web Forms RRS feed

  • Pergunta

  • Salve pessoal,

    quando eu uso a tag

    <form id="alumaCoisa" runat="server">    .... </form>
    dentro do body por exemplo, ao criar um web form, automaticamente o VS já coloca essa tag, e para rodar alguns controls senão colocar essa tag aqui na página não roda,  se eu desenvolver toda página dentro do form, todos elementos é processados no servidor (consumindo recursos)

    ?

    Uma segunda pergunta web form ainda é muito usado para desenvolvimento web? Ou qual é o melhor forma.

    To iniciando com asp.net e C# agora, por isso as perguntas, qualquer dica será bem vinda.

    Grato

    terça-feira, 25 de julho de 2017 23:54

Respostas

  • Boa noite,

    Sobre o WebForms, o form é primordial na sua página por uma série de motivos mas talvez os principais sejam:

    • O estado dos seus componentes (caixas de texto, dropdowns, labels, grids e tudo mais) é armazenado num hidden field dentro do form. Esse é um dos grandes recursos (e problemas) do WebForms, os componentes tem estado ainda que invisíveis, como se fosse uma aplicação Desktop;
    • Os eventos que você deseja tratar no server (ex.: clique de um botão, troca de valor numa combo) são executados através de uma requisição POST para a sua página, enviando no corpo da requisição os detalhes do evento para que o handler seja encontrado no seu code-behind e executado, sem o form isso não seria possível;

    Com relação à processar no servidor, os componentes ASP.NET são sempre renderizados no servidor já que o chega no navegador tem que ser HTML, JavaScript e por ai vai. O navegador não conseguiria entender o que é um <asp:TextBox> por exemplo mas entende o que é um <input type="text". Esse trabalho é feito no servidor, porém se você não usar o <asp:TextBox ou <asp:Button por exemplo, você 'pouparia' esse trabalho de renderização mas perderia alguns recursos principais do WebForms, como manter estado, event handlers no code-behind.

    Com relação à utilização, ainda possui grande utilização até pelo grande número de sistemas feitas usando essa tecnologia mas creio (particularmente) que hoje a melhor forma pra se desenvolver um site em ASP.NET seja usando o MVC. Além de trazer uma separação maior entre os três componentes principais de UI (Model, View e Controller), permitindo maior reutilização e testabilidade, possui um modelo de renderização da view mais próximo do que o navegador precisa gerando no geral um HTML mais próximo do que você codificou, o que entre outras coisas vai facilitar layouts responsivos e integrações com frameworks javascript.


    ​Rafael Esquiçato Professional Scrum Master MCP, MCTS

    • Marcado como Resposta AJ Braga quarta-feira, 26 de julho de 2017 17:44
    quarta-feira, 26 de julho de 2017 05:06

Todas as Respostas

  • Boa noite,

    Sobre o WebForms, o form é primordial na sua página por uma série de motivos mas talvez os principais sejam:

    • O estado dos seus componentes (caixas de texto, dropdowns, labels, grids e tudo mais) é armazenado num hidden field dentro do form. Esse é um dos grandes recursos (e problemas) do WebForms, os componentes tem estado ainda que invisíveis, como se fosse uma aplicação Desktop;
    • Os eventos que você deseja tratar no server (ex.: clique de um botão, troca de valor numa combo) são executados através de uma requisição POST para a sua página, enviando no corpo da requisição os detalhes do evento para que o handler seja encontrado no seu code-behind e executado, sem o form isso não seria possível;

    Com relação à processar no servidor, os componentes ASP.NET são sempre renderizados no servidor já que o chega no navegador tem que ser HTML, JavaScript e por ai vai. O navegador não conseguiria entender o que é um <asp:TextBox> por exemplo mas entende o que é um <input type="text". Esse trabalho é feito no servidor, porém se você não usar o <asp:TextBox ou <asp:Button por exemplo, você 'pouparia' esse trabalho de renderização mas perderia alguns recursos principais do WebForms, como manter estado, event handlers no code-behind.

    Com relação à utilização, ainda possui grande utilização até pelo grande número de sistemas feitas usando essa tecnologia mas creio (particularmente) que hoje a melhor forma pra se desenvolver um site em ASP.NET seja usando o MVC. Além de trazer uma separação maior entre os três componentes principais de UI (Model, View e Controller), permitindo maior reutilização e testabilidade, possui um modelo de renderização da view mais próximo do que o navegador precisa gerando no geral um HTML mais próximo do que você codificou, o que entre outras coisas vai facilitar layouts responsivos e integrações com frameworks javascript.


    ​Rafael Esquiçato Professional Scrum Master MCP, MCTS

    • Marcado como Resposta AJ Braga quarta-feira, 26 de julho de 2017 17:44
    quarta-feira, 26 de julho de 2017 05:06
  • Obrigado pela resposta,

    bem exclarecedora.

    quarta-feira, 26 de julho de 2017 17:45