Pergunta

Eu tenho tendência a fugir de adicionar propriedades às minhas páginas ASP.NET. Nunca parecia ser uma ótima idéia para mim. No entanto, recentemente eu vi a prática empregada em algumas aplicações de exemplo. Tem minha aversão a adição de propriedades personalizadas para uma página foi injustificada ou isso é um "depende" situação?

Foi útil?

Solução

A coisa sobre propriedades que você precisa lembrar é que duram por toda a vida útil página. Isso faz com que ambos muito útil (definir uma propriedade no início do ciclo de vida e ainda é válida mais tarde) e perigoso (é fácil de acessar uma propriedade antes do jogo, ou não percebem outra fase do ciclo de vida mudou em você).

propriedades

Uma área que eu vi usado com grande efeito é como uma boa maneira de tipo seguro para quebrar a seqüência de consulta e sessão. Definir as propriedades para cada um de seus valores de string de consulta ou sessão esperados e torna-se muito claro para futuros desenvolvedores que é esperado e disponíveis.

Outro uso comum é para embrulhar itens ViewState. Espero que este é o lugar onde você está vendo-os em amostras, já que a maioria das amostras tendem a assumir ViewState está ligado.

Outras dicas

Eu vejo errado nada com o uso de propriedades para limpar o código em uma página do lado do servidor. Eu gosto de usar as propriedades de acesso Estado de sessão ou informações do estado de exibição, desta forma, se eu modificar a forma como eu acessar os dados, eu só mudam um lugar.

Asp.net não suporta injeção baseada construtor. Este é um cenário claro de onde você quer usar as propriedades do ASP.NET (como você pode usar a propriedade de injeção com base).

Update 1: Aqui está um cenário semelhante, mas para controles - Como usar Dependency Injection com ASP.NET web Forms

Update 2: É ok para usá-los para embrulhar corda viewstate ou consulta. Eu olhava para ele com cuidado, porém, como você não quer abusar do codebehind. Se você ver que você está usando uma das propriedades de acondicionamento no codebehind muitas vezes, provavelmente há muito código no codebehind. Olhando para desta forma, tem o efeito colateral de fundição evitando repetido / analisar que podem ser associados a essas propriedades.

Não há nada de errado com propriedades em uma página. Eles podem ver estranho, já que uma página é raramente manipulado como um objeto pelo código externo, mas isso pode ser feito. Dado que, a maioria das propriedades em uma página pode ser marcado como particular. Como todas as coisas, há exceções.

Um dos maiores usos que tenho para propriedades na minha página é quando o invólucro um valor ViewState:

protected string TaskName
{
    get { return (string)ViewState["TaskName"] ?? string.Empty; }
    set { ViewState["TaskName"] = value; }
}

Neste caso, eu marquei a propriedade como "protegido" que me permite acessá-lo de minha marcação.

Por que seria ruim? As propriedades são realmente apenas métodos e estou certo que você adicionar métodos para a página o tempo todo.

Eu uso propriedades em minhas páginas ASP.NET para acesso Session, ViewState e querystring. Ela só faz você escrever menos código e aumenta a legibilidade

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top