VIEWSTATE - Pra que serve, quando usar e quando não usar

por Fernando D'Angelo 9. março 2010 08:54

O QUE É?

O Viewstate é uma funcionalidade do ASP.NET que permite que, ao dar POSTBACK em uma página, os componentes de formulário ASP.NET mantenham seus valores.

Para fazer a conexão entre os componentes ASP.NET que estão instanciados na memória do servidor e os componentes HTML que estão no Browser, a microsoft utiliza uma variável HIDDEN (escondida) no HTML com os nomes dos viewstates de todos os objetos da tela.

Isso significa que quanto mais objetos temos na tela, maior é o valor da variável VIEWSTATE.

Como Usar e como desabilitar?
Por padrão o Viewstate é True. Para desabilitar o Viewstate de uma página, coloque a TAG EnableViewState="false" na diretiva PAGE da página.

Se você quiser desabilitar o Viewstate somente em alguns componentes, você pode colocar a TAG EnableViewState="false" na chamada do componente. Caso o componente seja um componente que contenha outros componentes dentro (caso do Repeater e outros), todos os demais que estão dentro deste serão desabilitados.

Quando Usar?
Sempre que você quiser manter o valor do componente, mesmo que ocorra um POSTBACK.

Quando Não usar?
Em casos onde há listagens com componentes ASP.NET, o tamanho da variável ViewState pode ser um problema. Nestes casos, sugerimos que os componentes que somente mostrarão dados na tela sejam desabilitados, como os Labels, Literals, ... 

Abs,

Fernando D'Angelo

 

Tags:



Buscas no SQLSERVER sem distinção de caracteres com acentuação

por Fernando D'Angelo 2. março 2010 08:26

É comum em sites a existência de busca de conteúdo por palavra-chave.

Neste cenário, muitas pessoas quebram a cabeça para fazer com que a busca por palavras ignore a acentuação, ou seja, se o usuário digitar a palavra sem acentuação e no banco de dados ela estiver com acentuação, o sistema deverá encontrar tal registro. O contrário também deve ser válido.

Ao contrário do que muitos imaginam, a não distinção de caracteres com e sem acentuação é uma configuração do SQLSERVER e não é necessário criar métodos no código do site para isto. Basta para isso alterar o COLLATE dos campos de busca para um COLLATE que não faça essa distinção.

O COLLATE padrão do Português-BR no SQLSERVER 2005 é SQL_Latin1_General_CP1_CI_AS, onde o AS significa "Accent Sensitive", ou seja, Sensível à acentuação. Precisamos então alterar o COLLATE para SQL_Latin1_General_CP1_CI_AI, onde o AI significa "Accent Insensitive", ou seja, insensível à acentuação. Esta alteração basta para que a busca funcione corretamente.

No entanto, para complicar um pouco, a base de dados já está criada e com o COLLATE padrão do servidor de hospedagem, que não permite controle total da base de dados.

Assim sendo, não conseguimos ou é muito trabalhoso alterar o COLLATE da base de dados, da tabela ou da coluna.

Uma solução rápida é alterar alterar o COLLATE do campo na própria sintaxe SQL.

Para fazer uma busca em um banco de dados, com LIKE, sem que o sistema faça distinção entre palavras com e sem acento (ex: procurar por "acustica" e achar "acústica"), faça como no exemplo abaixo. É só inserir o COLLATE abaixo na string SQL.


... WHERE TX_NOME  COLLATE SQL_Latin1_General_CP1_CI_AI LIKE  '%acustica%' ...

 

Abs,

 

Fernando D'Angelo

Tags: , ,

Banco de Dados



Curso de CSS e Tableless - Poucas Vagas

por Fernando D'Angelo 25. fevereiro 2010 18:27

Para quem se interessar, a equipe ASPBRASIL estará ministrando um curso sobre CSS e Tableless nos dias 06 e 13 de março, em São Bernardo do Campo - SP.

Abaixo, prospecto do curso, valores e data.

 

CURSO CSS (formatação/layout) + TABLELESS (diagramação/posicionamento) - 16 horas


Conteúdo Programático:

*Motivação

*Objetivos

*Html e Xhtml

*Css (revisão dos principais componentes do CSS, com explicação sobre os principais atributos de cada e ênfase em posicionamento e uso de Tableless)

*Boas Práticas - Otimizando performance / Sugestão de Nomenclatura / Padronização de desenvolvimento (como estruturar o css? Diversos arquivos? 1 só? Juntar css de diagramação e de formatação? ... ) 

*Mantendo compatibilidade com IE7, IE8, FF 3.5, Chrome

*Novidades Html 5

*Mão na Massa (laborátório de 4 horas para colocarmos em prática o que foi visto no curso)

 

Data do Curso: dias 06 e 13 de março (2 sábados seguidos)

Horário: Das 09 às 18h (com 1h de almoço)

Valor: R$ 600,00

Inclusos 4 coffe-breaks

 

Interessados favor enviar e-mail para treinamentos@aspbrasil.com.br 

 

Abs,

 

Fernando D'Angelo

 

Tags: , ,

Aspbrasil | Treinamento



Embed Fonts no FLASH para uso em caixas de texto dinâmicas

por Fernando D'Angelo 19. fevereiro 2010 13:04

Caros Leitores,

Diversas vezes me deparei com arquivos Flash extremamente pesados e que aparentemente não tinham razão de ser. Foi o caso em alguns menus dinâmicos em Flash, entre outros, desenvolvidos por pessoas com pouca experiência em Flash mas que se aventurou neste meio. 

E normalmente o problema era o mesmo, ou seja, um ou mais campos DYNAMIC TEXT BOX que possuiam no item EMBED FONTS a opção "All Glyphs" selecionada.

E por que o Flash fica grande neste caso? Porque o "Embed Fonts" aponta quais fontes devem ser enviadas ao computador cliente juntamente com a animação em flash, permitindo que esta apresente textos com fontes que não estão instaladas no computador do usuário. 

A opção "All Glyphs" envia todos os caracteres da fonte que será utilizada no Text Box, o que representa cerca de 54000 símbolos diferentes, entre eles os símbolos que representam as letras em maiúscula, em minúscula, acentuações, pontuações, caracteres coreanos, japoneses, chineses, latinos, etc. São esses 54000 símbolos diferentes que tornam o arquivo flash (SWF) cerca de 40kb ou 50kb maior. Em um menu de 5kb ou 6Kb originais, esse aumento é considerável.

Assim sendo, como forma de economizar em tamanho nos Flashs que tem fonte EMBED, devemos trabalhar com cuidado a inserção dos caracteres a serem utilizados.

Para o padrão Português-BR, serão inseridos cerca de 100 símbolos apenas, e para tanto devemos fazer o seguinte no Embed:

Selecionar os seguintes tipos de "glyphs"

NUMERALS
UPPERCASE
LOWERCASE

e ainda inserir no campo "include these characteres" os seguintes símboos:

!"#$%&'()*+,-./:;<=>?@[\]^_`{}|ÀÁÂÃÄÅÇÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜàáâãäçèéêëìíîïñòóôõöùúûüÈ€ºª

OBS: Em caso de campos que tenham um tipo mais restrito (por exemplo, valor), deixar somente os glyphs que realmente serão utilizados.

OBS2: O EMBED deve ser feito mesmo para fontes padrão dos navegadores, como Verdana, Arial, Times new Roman entre outras. Isto porque o Embed deixa a fonte com melhor desenho.

 

 []s

 

Fernando D'Angelo

Tags: , , ,

Programação | Web Design



Servidor DNS Gratuito

por Fernando D'Angelo 9. fevereiro 2010 21:17

Há alguns anos atrás eu tinha a necessidade de encontrar um DNS gratuito para gerenciar os domínios que possuo de forma desvinculada dos servidores de hospedagem.

Após algum tempo de intensa busca, encontrei um servidor que utilizo até hoje. Ele é bem estável e simples de manipular e apesar de hoje existirem soluções semelhantes, acho interessante deixar a dica aqui.

O site que disponibiliza este serviço é o http://www.zoneedit.com

É possível gerenciar até 5 domínios diferentes de forma gratuita em um único Login e há um limite de bytes transferidos por mês para consultas de DNS. No entanto, para sites com pouca visitação, como extranets, sites restritos, campanhas direcionadas ou ambientes de homologação, é uma boa saída.

Quem quiser, pode contratar a ZoneEdit para ter acesso a mais recursos.

Abs,

Fernando D'Angelo

 

 

 

 

Tags: , ,

Infra-estrutura




Calendário

<<  março 2010  >>
seteququsedo
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

Ver os posts em um calendário maior

Assine Nossa Newsletter

Quero ser notificado quando um novo Post for publicado