A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Maria da Conceição Neves1 ASP.NET Maria da Conceição Neves.

Apresentações semelhantes


Apresentação em tema: "Maria da Conceição Neves1 ASP.NET Maria da Conceição Neves."— Transcrição da apresentação:

1 Maria da Conceição Neves1 ASP.NET Maria da Conceição Neves

2 2 Construção de uma aplicação Para executar uma aplicação Web ASP.NET num computador ele tem que ter a correr o Internet Information Service (Verifique que o IIS está a correr através de Service Tools ) Criar a aplicação Crie o projecto Na janela das Propriedades altere WebForm1 para NomeForm Na janela das classes ClassView expandir NomeProj namespace (package) e altere o nome da class WebForm1 para NomeForm

3 Maria da Conceição Neves3 Construção de uma aplicação (cont.) O Layout da Web Form Na janela DesignView (clique com o rato dentro da janela) e acedendo a Propriedades altere a propriedade título do objecto DOCUMENT para Infomação do Utilizador Na janela DesignView (clique com o rato dentro da janela) e acedendo menu Format seleccione Document Styles. Na caixa de diálogo crie um style (font, cor, layout,...) para a Form Add Style Form Add Style Rule O Element será BODY (seleccione na dropdownlist) Seleccione o elemento BODY e clique em Build Style... Na janela DesignView coloque os controlos convenientes

4 Maria da Conceição Neves4 Server Controls Os controlos que adicionarmos à Web Form são colectivamete designados por server controls. Eles são semelhantes aos controlos standard HTML, mas são mais programáveis. A maioria dos Server Controls têm manipuladores de eventos, métodos e propriedades que código a correr no servidor pode executar e modificar dinamicamente em tempo de execução.

5 Maria da Conceição Neves5 Código Server Controls Examine o código de alguns servers controls. Todos eles habitam o asp namespace (package) asp:Label... Todos têm o atributo runat=server Este atribito indica que o controlo pode ser acedido por um programa que está a correr no servidor Web o qual pode aceder e alterar as propriedades deste controlo.

6 Maria da Conceição Neves6 Controlos HTML Os Controlos HTML existem para permitir portabilidade às anteriores páginas.asp Não é aconselhável a sua utilização numa aplicação ASP.NET criada de raíz. O código associado aos controlos HTML está, por defeito, no browser em vez de no servidor.

7 Maria da Conceição Neves7 Código using System.Web namespace onde residem classes ASP.NET Verifique que o código da página é uma classe chamada NomeForm que descende de System.Web.UI.Page Adicione a esta classe os métodos necessários Exemplo -método para iniciar uma DropDownList PositionRole private void initPositionRole(){ PositionRole.Items.Clear(); PositionRole.Enabled=true; //a drop down list fica activa PositionRole. Items.Add(Analyst); PositionRole. Items.Add(Designer); PositionRole. Items.Add(Developer);}

8 Maria da Conceição Neves8 O método Page_Load(…) Este método é chamado quando a página é visualizada pela primeira vez if(!Page.IsPostBack)... Dentro do método Page_Load coloca-se o código adequado Exemplo: initPositionRole() Para alterar conteúdo da dropdownlist em função da selecção de botões, dentro dos métodos CheckedChanged associados aos vários botões fazer um método igual mas com outros conteúdos Para o conteúdo da lista mudar imediatamente associe ao botão a propriedade AutoPostBack=true

9 Maria da Conceição Neves9 Analisar o Código HTML Analise o código da página ( seleccione View Souce da página em execução no browser) Verifique que não contem asp:, contem somente HTML e algum JavaScript. Os server controls e seu conteúdo foram convertidos em equivalentes controlos HTML e algum JavaScript Uma das características essenciais dos Server Controls, é eles serem acedidos como objectos.NET com propriedades e métodos e eventos

10 Maria da Conceição Neves10 Processamento dos eventos e os acessos cliente / servidor Sempre que ocorre um evento (se este causa um post-back ) um pedido HTTP é enviado ao servidor. O servidor processa este pedido e envia uma resposta contendo página HTML a ser visualizada. No entanto o servidor também precisa de saber que outra informação foi introduzida na página de modo a preservá-la. Para tal existe um campo escondido no form _VIEWSTATE que contem a informação dos controlos numa forma codificada. O servidor usa esta informação, ou view state, para actualizar os conteúdo da página e gerar a resposta HTML

11 Maria da Conceição Neves11 Gestão de Estado no lado do cliente Nos acessos cliente / servidor os valores das variáveis e dos controlos das páginas não são preservados. Um dos modos de preservar a informação no lado do cliente é através do uso de ViewState private void Button1_Click(object sender, System.EventArgs e) {ViewState["Password"]=TextBox3.Text; Label6.Visible=false;} private void Button2_Click(object sender, System.EventArgs e) { Label6.Visible=true; Label6.Text=ViewState["Password"].ToString(); }

12 Maria da Conceição Neves12 Gestão de Estado no lado do servidor Preservar usando Application State ou usando Session State ou usando Base de Dados Usando Session (objecto implícito da aplicação). Todas as têm um identificador único SessionID Exemplo usando Session: Na página login da apicação private void Button1_Click(object sender, System.EventArgs e) {Session[Nome"]=TextBox1.Text; Response.Redirect("RegDemo.aspx"); } Na página RegDemo.aspx private void Page_Load(object sender, System.EventArgs e) {if(!Page.IsPostBack) Label1.Text= "Olá "+ Session[Nome"]; else... }

13 Maria da Conceição Neves13 Transferir todo o Contexto public class PagInic : System.Web.UI.Page{... private void Button1_Click(object sender, System.EventArgs e) { Server.Transfer(ProxPag.aspx"); } public string nome{ get{ return TextBox1.Text;} } public string numero{ get{ return TextBox3.Text;} } public string estado{ get{ return RadioButtonList1.SelectedItem.Text ;}}... }

14 Maria da Conceição Neves14 Aceder ao Contexto da página que fez o pedido public class ProxPag : System.Web.UI.Page {... protected PagInic sourcepage; private void Page_Load(object sender, System.EventArgs e) { if (!IsPostBack){ try{ sourcepage = (PagInic) Context.Handler; Labelnome.Text=sourcepage.nome; Labelnum.Text=sourcepage.numero;...} catch (System.Exception ){ Response.Redirect(" PagInic.aspx"); }...}

15 Maria da Conceição Neves15 Criação de Controlos dinamicamente... protected System.Web.UI.WebControls.Panel Panel1;... public PageLoad(...){... foreach (String var in Request.ServerVariables ) { System.Web.UI.WebControls.Label LabelVar=new Label(); LabelVar.Text="->" + var +": " + Request.ServerVariables[var]; Panel1.Controls.Add(LabelVar); Panel1.Controls.Add(new LiteralControl(" ") ); }...}


Carregar ppt "Maria da Conceição Neves1 ASP.NET Maria da Conceição Neves."

Apresentações semelhantes


Anúncios Google