Categoria Dicas .NET - ASP.NET : Agilizando a compilação de sites no VS 2005

Posted by webmaster | .NET |

Alguns pequenos truques no VS 2005 podem agilizar o processo de compilação.

Sempre que você roda o site pelo Visual Studio ele faz uma compilação geral do site. Podemos mudar isso re-configurando nosso projeto.

Clique com o botão direito no site, na janela solution explorer

Selecione a opção “Property Pages”

Selecione a opção “Build”

Na opção “Before Running Start Page”, encontra-se por default como “Build Web Site”, altere para “Build Page”

Desmarque a opção “Build Web Site as part of the solution”

Com essas alterações o VS não irá mais checar todas as páginas do site a cada execução que você fizer, passando a checar apenas a página atual e com isso melhorando a performance no trabalho com o VS.

Tags:

Categoria Dicas .NET - Retirando TAGs html dos campos de entrada do web form

Posted by webmaster | .NET |

Geralmente temos aplicativos na qual não queremos aceitar alguns tipos de entrada nos campos dos formulários. para resolver esse problema podemos usar regularexpressionvalidator e simplesmente não permitir entradas não autorizadas.

Mas há casos em que não queromos limitar a digitação do usuário no campo, mas queremos fazer alguns filtros antes de salvar na base de dados. é o caso de um título de um informativo por exemplo:

Se não formatarmos e o usuário digitar:

<h2>retirando TAGs html dos campos de entrada do web form</h2>

será exibido assim:
retirando TAGs html dos campos de entrada do web form
Mesmo que tenha um css por trás e uma formatação padrão, a formatação in-line irá sobrepor a formatação atual, ai surge a necessidade de aplicar esse tipo de filtro na entrada dos dados do usuário.

Para isso use a linha abaixo:

string strsemhtml = system.text.regularexpressions.regex.replace(this.seutextbox1.text,”<[^>]*>”, ” “);

entendendo a expressão regular em questão

Perceba que usamos um er (expressão regular) para fazer o replace. ela simplesmente elimina os caracteres < e > e tudo que está contido entre eles.

<[^>]*>

O “robô” que fará a consulta e substituição fará a comparação das strings caractere por caractere e como isso ele começará procurando por: <, achando, ele ir buscar por qualquer outro caractere após este, que está representado por *, até achar o último caractere >

Se deixarmos assim: <.*>. ele pegará tudo entre o primeiro < e o último >. exemplo:

eu sou <b>brasileiro</b> e não desisto nunca.

Resultará em:

eu sou e não desisto nunca.

assim acrescentamos um caractere de negação [^>] para que ao encontrar > ele finalize a procura do * e passe pro próximo caractere pedido >. Dessa forma funcionará como esperado:

eu sou <b>brasileiro</b> e não desisto nunca.

resultará em:

eu sou brasileiro e não desisto nunca.

conclusão

Espero que tenham gostado da dica. O livro informado na referência é excelente e eu considero leitura obrigatória, quem tiver oportunidade compre-o e leia.

Qualquer dúvida que tiverem sobre ER (Expressões Regulares), pode me mandar um e-mail que se tiver ao meu alcance, tentarei ajudar com o maior prazer. Se a procura for muito grande, escreverei alguns artigos ensinando ER e usando com .net. Até o próximo artigo.

Referências

expressões regulares: guia de consulta rápida on-line:
http://guia-er.sourceforge.net/

how to: use regular expressions to constrain input in asp.net
http://msdn2.microsoft.com/en-us/library/ms998267.aspx

Tags: ,

Categoria Dicas .NET - Evitando a re-execução de tarefas na página

Posted by webmaster | .NET |

Hoje vou falar um pouco sobre como evitar que um método seja executado, sem que haja necessidade, quando fazemos um postback na página.

Vocês já devem saber que o PostBack é um comando no asp.net onde as informações vão ao servidor e retornam ao cliente. Para isto acontecer a página asp.net faz um ‘post’ na página, como se fosse um formulário sendo enviado ao servidor.

Porém, as vezes colocamos chamadas a métodos no evento PageLoad para preencher dados de um grid, um combobox, etc. E como fazemos para evitar que eles sejam recarregados?

Simples, imaginemos um método CarregaEmpresas(); que faz um select no banco de dados e monta um datatable para ser preenchido em um combobox. Agora, vamos carregá-lo no evento PageLoad de minha página asp.net.

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
CarregaEmpresas();
}
}

A propriedade Page.IsPostback retorna verdadeiro se a página está em um PostBack, a partir dela fazemos uma condição para apenas executar o comando caso ela seja falsa, ou seja, não estiver em um PostBack.

Tags:
Page 2 of 3«123»