Partilhar via


Visão geral da sintaxe de página da Web ASP.NET

Páginas da Web ASP.NET são criadas de uma maneira semelhante à páginas estáticas da Web HTML (páginas que não incluem Processamento baseado no servidor), mas eles incluiem elementos adicionais que ASP.NET reconhece e processa quando a página é executada.As características que distinguiem páginas da Web ASP.NET as páginas estáticas HTML (ou outra) são os seguintes:

  • Um arquivo Nome extensão.aspx em vez de.htm, .html, ou outras extensões de nome de arquivo.A extensão de nome .aspx faz a página ser processada pelo ASP.NET.

    Observação:

    O mapeamento de extensões de nome de arquivo para o ASP.NET é feito no Serviços de Informações da Internet (IIS).Por padrão, Páginas .aspx são executadas por ASP.NET e páginas .htm e.html não são.

  • Uma diretiva opcional @ Page ou outras diretiva, conforme apropriado para o tipo de página que você está criando.

  • A form elemento que está configurado corretamente para ASP.NET. The form elemento é necessário apenas se a página contiver controles cujos valores você deseja usar durante o processamento da página.

  • Controles de servidor de Web.

  • Código de servidor se você adicionar seu próprio código a página.

    Observação:

    Se você desejar que suas páginas atendam aos padrões XHTML, você deve incluir elementos adicionais, tais como um elemento DOCTYPE.Para obter detalhes, consulte:O ASP.NET e o XHTML.

As seções abaixo forneceem mais detalhes em cada um desses elementos.

Você pode renomear qualquer página HTML com a extensão de nome de arquivo .aspx e ela será executada como uma página do ASP.NET.No entanto, se uma página não envolve processamento de servidor, você não precisará adicionar a extensão de nome de arquivo .aspx a ela, porque, ao fazer isso, adiciona sobrecarga ao processamento da página.

Página exemplo da Web ASP.NET

O exemplo de código a seguir mostra uma página que inclui os elementos básicos que constituem uma página Web do ASP.NET.A página contém texto estático sistema autônomo você pode ter em uma página HTML, junto com elementos que são específicas para ASP.NET.Os elementos que são específicos do ASP.NET são realçados.

Observação:

Para maior clareza, esta página exemplo não está configurada para conformidade XHTML.Para obter detalhes, consulte:O ASP.NET e o XHTML.

Observação de segurança:

Esta página exemplo contém um caixa de texto que aceita entradas do usuário, o que é uma ameaça potencial de segurança.Por padrão, páginas Web ASP.NET validam se as entradas de usuário não incluem scripts ou elementos HTML.Para obter mais informações, consulte Visão Geral de Scripts Maliciosos.

<%@ Page Language="VB" %>
<html>
<script >    Sub Button1_Click(ByVal sender As Object, _        ByVal e As System.EventArgs)        Label1.Text = "Welcome, " & TextBox1.Text    End Sub</script>
<head >
  <title>Basic ASP.NET Web Page</title>
</head>
<body>
  <form id="form1" >
    <h1>Welcome to ASP.NET</h1>
    <p>Type your name and click the button.</p>
    <p>
      <asp:TextBox ID="TextBox1" ></asp:TextBox><asp:Button ID="Button1"  Text="Click" OnClick="Button1_Click" />
    </p>
    <p>
      <asp:Label ID="Label1" ></asp:Label>
    </p>
  </form>
</body>
</html>
<%@ Page Language="C#" %>
<html>
<script >Void Button1_Click(object sender, System.EventArgs e) {    Label1.Text = ("Welcome, " + TextBox1.Text);}</script>
<head >
  <title>Basic ASP.NET Web Page</title>
</head>
<body>
  <form id="form1" >
    <h1>Welcome to ASP.NET</h1>
    <p>Type your name and click the button.</p>
    <p>
      <asp:TextBox ID="TextBox1" ></asp:TextBox>      <asp:Button ID="Button1"          Text="Click" OnClick="Button1_Click" />
    </p>
    <p>
      <asp:Label ID="Label1" ></asp:Label>
    </p>
  </form>
</body>
</html>

Diretivas @

Páginas ASP.net normalmente contêm diretivas que permitem a você especificar informações sobre propriedades e configuração de página para a página.As diretivas são usadas por ASP.NET como instruções para obter informações sobre como processar a página, mas elas não são processadas como parte da marcação que é enviada ao navegador.

A diretiva mais comumente usada é a Diretiva @ Page, que permite a você especificar várias opções de configuração para a página, incluindo o seguinte:

  • A linguagem de programação do servidor para código na página.

  • Se a página é uma página com código de servidor diretamente na página, que é chamada uma página de Arquivo Único, ou se é uma página com código em um arquivo de classe separado, que é chamada uma página code-behind.In the previous example, the page is a single-file page; the code is directly in the page, and the @ Page directive does not include information about linked class files.Para obter mais informações, consulte a seção "Código do servidor", posteriormente neste tópico e Modelo de código de página Web do ASP.NET.

  • Opções de Depuração e rastreamento.

  • Se a página tem uma página mestra associada e portanto deve ser tratada como uma página de conteúdo.

If you do not include an @ Page directive in the page, or if the directive does not include a specific setting, settings are inherited the from the configuration file for the Web application (the Web.config file) or from the site configuration file (the Machine.config file).

In addition to including an @ Page directive, you can include other directives that support additional page-specific options.Outras diretivas comuns incluem o seguinte:

  • @ Import    Essa diretiva permite-lhe especificar namespaces que você deseja referenciar no seu código.

  • @ OutputCache    Essa diretiva permite-lhe especificar que a página deveria ser armazenada em cache, juntamente com parâmetros para quando e quanto tempo armazenar em cache a página.

  • @ Implements    Essa diretiva permite especificar que a página implementa uma interface .NET.

  • @ Register    Essa diretiva permite-lhe registrar adicionais controles para uso na página.The @ Register directive declares the control's tag prefix and the location of the control's assembly.Você deve usar essa diretiva se você desejar adicionar controles de usuário ou controles ASP.NET personalizados a uma página.

Certain types of ASP.NET files use a directive other than @ Page.Por exemplo, páginas mestras ASP.NET usam uma Diretiva @ Master, e controles de usuário ASP.NET usam uma Diretiva @ Control.Cada diretiva permite-lhe especificar diferentes opções que são apropriadas para o arquivo.

Para obter detalhes, consulte Visão Geral de Páginas Mestras ASP.NET e Controles de usuário do ASP.NET.

Elementos de formulário

Se sua página incluir controles que permitem aos usuários interagir com a página e as enviar, a página deve incluir um elemento form.Você usa o elemento form do padrão HTML, mas certas regras se aplicam.As regras para usar o elemento form são as seguintes:

  • A página pode conter somente um elemento form.

  • O elemento form deve conter o atributo runat com o valor definido como server.Este atributo permite-lhe consultar o formulário e os controles na página programaticamente no código do servidor.

  • Os controles do servidor que podem executar uma nova postagem deverão estar dentro do elemento form.

  • A marca de abertura não deve conter um atributo action.O ASP.NET define esses atributos dinamicamente quando a página é processada, substituindo quaisquer configurações que você possa fazer.

Controles de Servidor de Web

Na maioria das páginas ASP.NET, você adicionará controles que permitam que o usuário interaja com a página, incluindo botões, caixas de texto, listas, e assim por diante.Esses controles de servidor de Web são semelhantes aos botões HTML e elementos input.No entanto, eles são processados no servidor, permitindo você a usar código servidor para definir suas propriedades.Esses controles também disparam eventos que você pode manipular no código decservidor.

Controles de servidor utilizam uma sintaxe especial que ASP.NET reconhece quando a página é executada.O exemplo de código a seguir mostra alguns controles de Servidor de Web típicos.

Observação de segurança:

Um TextBox aceita entrada do usuário, que é uma ameaça potencial de segurança.Por padrão, páginas Web ASP.NET validam se as entradas de usuário não incluem scripts ou elementos HTML.Para obter mais informações, consulte Visão Geral de Scripts Maliciosos.

<asp:TextBox ID="TextBox1" ></asp:TextBox>
<asp:Button ID="Button1"  
    Text="Click" OnClick="Button1_Click" />
<asp:TextBox ID="TextBox1" ></asp:TextBox>
<asp:Button ID="Button1"  
    Text="Click" OnClick="Button1_Click" />

O nome da marca para controles de servidor ASP.NET começa com um prefixo — nesse caso, asp:.O prefixo pode ser diferente se o controle não fizer parte do .NET Framework.Controles de servidor ASP.NET também incluem o atributo e, opcionalmente, uma identificação que você pode usar para referenciar o controle no código de servidor.

Quando a página é executada, ela identifica os controles de servidor e executa o código que está associado a esses controles.Muitos controles processam alguns HTML ou outra marcação para a página.Por exemplo, o controle asp:textbox processa um elemento input com o atributo type="text" em uma página.No entanto, não é necessariamente um mapeamento um-para-um entre um controle de servidor da Web e um elemento HTML.Por exemplo, o controle asp:calendar processa uma tabela HTML.Alguns controles não processam nada para o navegador; em vez disso, eles são processados no servidor somente, e eles fornecem informações para outros controles.

Elementos HTML como controles de servidor

Em vez de, ou além de, usar controles de servidor ASP.NET, você pode usar elementos HTML comuns como controles de servidor.Você pode adicionar o atributo e um atributo ID para qualquer elemento HTML na página.Quando a página é executada, ASP.NET identifica o elemento como um controle de servidor e o torna disponível para código de servidor.Por exemplo, você pode adicionar os elementos necessários a um elemento HTML body, como mostrado no exemplo de código a seguir.

<body  id="body">

Então você pode consultar o elemento body no código de servidor — por exemplo, para definir a cor do plano de fundo do corpo em tempo de execução em resposta à entrada do usuário ou para informações de um banco de dados.

Para obter mais informações, consulte Visão geral sobre controles do servidor da Web do ASP.NET.

Código de servidor

A maioria das páginas ASP.NET incluiem código que é executado no servidor quando a página é processada.ASP.NET oferece suporte a várias linguagens incluindo C#, Visual Basic, J#, JScript, e outros.

ASP.NET suporta dois modelos para escrever código de servidor para uma página da Web.No modelo de arquivo único, o código para a página é em um elemento script onde a marca de abertura inclui o atributo .O exemplo anteriormente neste tópico mostra o modelo de Arquivo Único.

Como alternativa, você pode criar o código para a página em um arquivo de classe separado, que é conhecido como o modelo code-behind.Nesse caso, a página da Web do ASP.NET geralmente não contém nenhum código de servidor.Em vez disso, a Diretiva @ Page inclui informações que vinculam a página.aspx com seu arquivo code-behind associado.The following code example shows a typical @ Page directive for a page with a code-behind file.

<%@ Page Language="VB" CodeFile="Default.aspx.vb" Inherits="Default" %>
<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="Default" %>

O atributo CodeFile especifica o nome do arquivo de classe separado, e o atributo Inherits especifica o nome da classe dentro do arquivo code-behind que corresponde à página.

Para obter mais informações, consulte Modelo de código de página Web do ASP.NET.

Observação:

Páginas da Web ASP.NET também podem incluir script de cliente executado em um navegador em resposta a eventos do lado do cliente.Uma página ASP.NET pode incluir tanto script de cliente e código de servidor.Para obter detalhes, consulte:Script de Cliente em Páginas da Web ASP.NET.

Consulte também

Conceitos

Visão geral sobre Páginas Web do ASP.NET

Introdução a páginas da Web do ASP.NET

Visão Geral sobre Expressões do ASP.NET

Outros recursos

Sintaxe de arquivo de configuração do ASP.NET

Programando páginas da Web ASP.NET