Anda di halaman 1dari 52

Asp.

Net Controls
1

ASP .Net Server Controls


Automaticamente mantm seu estado entre as requisies do
servidor
Possuem o atributo runat=server
Precisa ter um ID para ser reconhecido no cdigo
Precisa estar dentro de um <form runat=server>
Dois principais tipos de server control:
HTML
Web

Como adicionar controles para


uma aplicao Web Forms
Para adicionar um controle Web server:
Na visualizao de projeto (Design), arraste o controle desejado
da aba Web Forms da Toolbox.

Para adicionar um controle HTML server:


Arraste para a pgina um controle HTML da tab HTML da Toolbox.
Clique com o boto direito do mouse sobre o controle
selecionado e escolha Run As Server Control para converter o
elemento em um controle de servidor.

Vale ressaltar que ambos podem ser adicionados via ASPX ou


via cdigo C# tambm.
3

Eventos de controles
Muitos eventos so disparados atravs de aes de usurios
captadas atravs do navegador.
O cdigo para manipular o evento disparado executado no
servidor.
Quando o cdigo completa sua execuo, a pgina web pronta
enviada de volta ao navegador (contendo cdigo html e
script).
private void Button1_Click(object
.sender,System.EventArgs e) {
//()
}

Ciclo de vida de uma pgina


Carrega
View State

Page_Init

Page_Unload

Page_Load

Renderiza a
pgina
Salva
View State

Event
Handling

Validation

Eventos de pginas
Estgio

Evento da Pgina

Page - iniciao

Init

Mtodo

View state - carga

LoadViewState

Postback - procesamento
de dados

mtodo LoadPostData em qualquer controle que


implementa a interface IPostBackDataHandler
interface

Page - carregamento (Load)

Load

Postback - notificao de
mudana

RaisePostDataChangedEvent em qualquer controle que


implementa a interface IPostBackDataHandler

Postback - tratamento do Qualquer evento postback definido


evento
pelos controles

mtodo RaisePostBackEvent em qualquer controle que


implementa a interface IPostBackEventHandler

Page - pre-renderizao

PreRender

View state - salvando

SaveViewState

Page renderizando

Render

Page descarregando
(Unload)

Unload

CONTROLES DO ASP.NET

Button

Exibe um boto comum na pgina


Dispara PostBack
Passa por validao
Propriedades importantes:
Text
CommandName
CommandArgument

Eventos importantes
Click
Command
8

LinkButton
Tem as mesmas caractersticas de um Button, mas renderiza
um hyperlink <a />
PostBack feito atravs de javascript
Pode ter controles dentro dele como imagens ou textos

ImageButton
Tem as mesmas caractersticas que o Button, mas exibe uma
imagem
PostBack via submit
Problemas com renderizao
Principal propriedade:
ImageUrl

No evento click possvel saber as coordenadas onde houve o


click

10

Hyperlink
Utilizado para criar um hyperlink comum
No realiza PostBack
Principais propriedades:
Text
ImageUrl
NavigateUrl

11

DropDownList
Exibe uma lista de itens onde o usurio pode fazer uma nica
escolha
um Databound Control
Possui uma lista de itens facilmente manipulvel
Principais Propriedades:

DataSource
DataTextField
DataValueField
Items
SelectedValue
SelectedItem

Principal Evento:
SelectedIndexChanged

12

ListBox
Utilizado para mostrar uma lista de itens onde o usurio pode
realizar uma nica seleo ou vrias
um Databound Control
Principais Propriedades:
SelectMode
Rows

13

CheckBox
Possibilita o usurio a escolher entre verdadeiro ou falso
Principais Propriedades:

Text
TextAlign
Checked
InputAttributes
LabelAttributes

14

CheckBoxList
Exibe uma lista de itens onde o usurio pode realizar multipla
seleo de itens
Facilidade em gerar layout
Problemas com integrao HTML
um Databound Control
Principais Propriedades:
RepeatColumns
RepeatDirection

15

RadioButton
Possibilita o usurio a escolher apenas uma opo de um
grupo de RadioButtons
Melhor opo de layout do que o RadioButtonList
Principais Propriedades:
GroupName
Text

16

RadioButtonList
Exibe uma lista de itens onde o usurio pode realizar uma
nica seleo de item
Facilidade em gerar layout
Problemas com integrao HTML
um Databound Control
Principais Propriedades:
RepeatColumns
RepeatDirection

17

Image

Utilizada unicamente para exibir uma imagem


Gera uma tag <img>
Problemas com renderizao
o controle base para o ImageButton
Principais Propriedades:
AlternateText
ImageUrl

18

BulletedList
Exibe uma lista de itens ordenados ou no ordenados
(<ol>/<ul>)
Incompatibilidade de estilos com alguns navegadores
um Databound Control
Principais Propriedades:
BulletStyle

19

HiddenField
Usado para armazenar um valor que precisa ser mantido em
postagens para o servidor
Alternativa ao View State, Session State ou Cookies
Principal Propriedade:
Value

Principal Evento:
ValueChanged

20

Label

Exibe um texto dentro de uma tag <span>


Facilidade para aplicar classes programaticamente
Problemas com integrao HTML
Principal Propriedade:
Text

21

Literal
Exibe um texto na pgina
Semelhante ao Label, mas no renderiza nada alm do texto
passado
Principal Propriedade:
Text

22

Calendar
Exibe um calendrio baseado no ms atual ou no ms
selecionado
Permite o usurio selecionar datas e navegar entre os meses
Principais Propriedades:
DayNameFormat
SelectedDate
SelectionMode

Principais Eventos:
DayRender
SelectionChanged
VisibleMonthChanged
23

AdRotator
Exibe aleatoriamente banners publicitrios de acordo com o
nmero de impresses
um Databound Control
Principais Propriedades:

AdvertisementFile
AlternateTextField
ImageUrlField
NavigateUrlField
KeywordFilter

24

AdRotator
<?xml version="1.0" encoding="utf-8" ?>
<Advertisements>

<Ad>

<ImageUrl>~/images/banner1.jpg</ImageUrl>

<NavigateUrl>http://www.google.com</NavigateUrl>

<AlternateText>banner ad 1</AlternateText>

<Keyword>Misc</Keyword>

<Impressions>100</Impressions>

</Ad>

<Ad>

<ImageUrl>~/images/banner2.jpg</ImageUrl>

<NavigateUrl>http://www.microsoft.com</NavigateUrl>

<AlternateText>banner ad 2</AlternateText>

<Keyword>C#</Keyword>

<Impressions>100</Impressions>

</Ad>
</Advertisements>

25

FileUpload
Exibe um TextBox e um boto que permitem o usurio
escolher um arquivo que ser enviado ao servidor
Renderiza um <input type=file>
No realiza PostBack automtico
Principais Propriedades:

FileBytes
FileContent
PostedFile
HasFile

26

Wizard

Exibe uma srie de passos, um aps o outro


Coleta informaes do usurio em etapas lgicas
Permite navegao linear ou no linear atravs das etapas
Principais Propriedades:
ActiveStepIndex
WizardSteps

Principais Mtodos:
GetHistory
ModeTo

Principais Eventos:
ActiveStepChanged
NextButtonClick
PreviousButtonClick

27

MultiView
Usado quando voc tem controles que deseja exibir ou
esconder como um grupo
Exibe um conjunto dos controles View
Melhor opo do que o Wizard para integrao HTML
Principal Propriedade:
ActiveViewIndex

Principais Mtodos:
GetActiveView
SetActiveView

Principal Evento:
ActiveViewChanged

28

View
um container para um grupo de controles
Deve estar sempre dentro de um controle MultiView
Apenas um controle View pode estar ativo por vez

29

Panel
um container para um grupo de controles
Renderiza uma <div>
Principais Propriedades:
BackImageUrl
DefaultButton
ScrollBars

30

CONTROLES DE VALIDAO

31

Como se comporta a validao para


entrada de dados?
Verifica se o valor passado ao controle foi informado
corretamente pelo usurio.
Bloqueia o processamento da pgina at que o contedo de
todos os controles sejam vlidos.
Evita adio de cdigo malicioso.

32

Validao
ASP.NET pode propiciar validao tanto
do lado servidor como do lado cliente.
Validao do lado cliente:
Depende da verso do navegador.
Retorno imediato.
Reduz viagens ao servidor.

Validao do lado servidor:


Repete as validaes do lado cliente.
Valida tambm dados j armazenados.

33

Validao
Usurio
preenche
campo
Valido?
Cliente
Servidor

Mensagem
de erro
No

Sim

Valido?

No

Sim

Aplicao Web
Processada

34

BaseValidator
Propriedades comuns a todos os controles de validao:

ControlToValidate
Display
EnableClientSideScript
ErrorMessage
IsValid
ValidationGroup

35

RequiredFieldValidator
Certifica que o usurio no deixou o campo em branco
Os outros controles no validam se o campo est vazio
Propriedade Adicional:
InitialValue

36

RangeValidator
Verifica se o valor passado est dentro de um range especfico
Propriedades Adicionais:
MinimumValue
MaximumValue
Type

37

CompareValidator
Valida utilizando a comparao de valores maior, menor ou
igual a uma constante ou outro controle
Propriedades Adicionais:
ValueToCompare
Operator

38

RegularExpressionValidator
Realiza validaes atravs de Regular Expression
So complicadas de serem feitas mas extremamente
poderosas
Ver mais em http://regexlib.com/ e http://www.regularexpressions.info/
Propriedade Adicional:
ValidationExpression

39

CustomValidator
Realiza validaes baseado no cdigo que voc escreve
Pode ser JavaScript ou Server Validation
O que feito via JavaScript tambm recomendado que seja
validado no servidor

40

ValidationSummary
Exibe as mensagens de erro de todos os controles presentes
no mesmo grupo
Pode ser exibido como um pop-up com as mensagens ou em
formato de texto
Principais Propriedades:
DisplayMode
ShowMessageBox
ShowSummary

41

CUSTOM WEB CONTROLS

42

Custom Web Controls


Componentizao
Reutilizao de cdigo
Divididos em 3 tipos:
User Control
Custom Web Control
Composite Control

43

User control

Poro de cdigo e HTML agrupados em um controle


Permite criao visual de um componente
Arquivos com extenso ASCX
Semelhantes a uma pgina Web

44

User control
Para chamar o User Control de uma pgina, voc pode:
Referenci-lo no topo da pgina: <%@ Register
Src=NomeUserControl.ascx TagName=NomeUserControl
TagPrefix=SuaTag %>
Referenci-lo no Web.Config para que todas as pginas possam
utiliz-lo:
<system.web>
<pages>
<controls>
<add src="NomeUserControl.ascx" tagName="NomeUserControl"
tagPrefix="SuaTag"/>
</controls>
.</pages>
</system.web>

45

User control
Voc pode tambm carregar um User Control dinamicamente:
NomeUserControl nuc =
(NomeUserControl)LoadControl(NomeUserControl.ascx);
this.Controls.Add(nuc);

46

Custom Web Control


Controle que herda de algum outro Web Control ou da classe
Control
Utilizado para alterar a renderizao do controle base ou criar
novas propriedades e mtodos
Compilado em uma DLL

47

Composite Control
um Custom Web Control que contm outros controles, mas
sem interface grfica
Pode ser compilado em uma DLL
Herda da classe CompositeControl

48

EVENTOS

49

Eventos
a forma de um objeto se comunicar com outro
Vamos tomar como exemplo o evento Click de um boto.
Existem 2 maneiras de criar uma escuta do evento:
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
Button1.Click+=new EventHandler(Button1_Click);

Quando o usurio clicar no boto, ser disparado o seguinte


mtodo:
protected void Button1_Click(object sender, EventArgs e){}

50

Eventos
Quando se trabalha com Web Controls, torna-se comum a
necessidade de criar um evento prprio
Passos para criar um Custom Event:
1.

Crie um delegate fora do escopo da classe:


1.

2.

Crie um evento pblico na sua classe utilizando o delegate:


1.

3.

public delegate void MensageHandler(string mensagem);


public event MensageHandler DisparaMensagem;

Dentro da sua classe, chame o evento como se fosse um


mtodo, verificando antes se no est nulo:
1.

if (DisparaMensagem != null) DisparaMensagem("Evento


disparado s " + DateTime.Now);
51

Eventos
Para adicionar uma escuta do evento desejado, basta chamar
das formas mostradas anteriormente:
<SuaTag:NomeUserControl ID=nuc" runat="server"
onDisparaMensagem="NomeUserControl_DisparaMensagem" />
NomeUserControl.DisparaMensagem +=new
MensagemHandler(NomeUserControl_DisparaMensagem);

52

Anda mungkin juga menyukai