Pregunta

He tendido a evitar agregar propiedades a mis páginas ASP.NET. Nunca me pareció una gran idea. Sin embargo, recientemente he visto la práctica empleada en algunas aplicaciones de muestra. ¿Mi aversión a agregar propiedades personalizadas a una página ha sido injustificada o es esto un " depende " situación?

¿Fue útil?

Solución

Lo que pasa con las propiedades que debe recordar es que duran todo el ciclo de vida de la página. Esto los hace muy útiles (establecer una propiedad al principio del ciclo de vida y aún así es válido más adelante) y peligroso (es fácil acceder a una propiedad antes de que se establezca, o no darse cuenta de que otra fase del ciclo de vida la cambió).

Un área en la que he visto que las propiedades se han usado con gran efecto es una buena forma segura de escribir con el tamaño de la cadena de consulta y la sesión. Defina las propiedades para cada una de sus cadenas de consulta o valores de sesión esperados y queda muy claro para los futuros desarrolladores lo que se espera y está disponible.

Otro uso común es envolver los elementos de ViewState. Supongo que es aquí donde se ven las muestras, ya que la mayoría de las muestras asumen que ViewState está activado.

Otros consejos

No veo nada malo en usar propiedades para limpiar el código en una página del lado del servidor. Me gusta usar propiedades para acceder al estado de sesión o ver información de estado, de esta forma, si modifico la forma en que accedo a los datos, solo cambio un lugar.

Asp.net no admite inyección basada en constructor. Este es un escenario claro en el que desea usar las propiedades de asp.net (ya que puede usar la inyección basada en propiedades).

Actualización 1: Este es un escenario similar, pero para los controles: Cómo utilizar la inyección de dependencia con formularios web ASP.NET

Actualización 2: está bien usarlos para ajustar viewstate o cadena de consulta. Sin embargo, lo miraría con cuidado, ya que no desea abusar del código subyacente. Si ve que está utilizando una de las propiedades de ajuste del código varias veces, es probable que haya demasiado código en el código. Mirarlo de esta manera, tiene el efecto secundario de evitar la conversión / análisis repetidos que pueden asociarse a esas propiedades.

No hay nada malo con las propiedades en una página. Pueden verse extraños ya que una página rara vez se manipula como un objeto por código externo, pero se puede hacer. Dado eso, la mayoría de las propiedades en una página se pueden marcar como privadas. Como todas las cosas, hay excepciones.

Uno de los usos más importantes que tengo para las propiedades en mi página es al ajustar un valor de ViewState:

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

En este caso, he marcado la propiedad como "protegida" lo que me permite acceder a él desde mi marca.

¿Por qué sería malo? Las propiedades son realmente solo métodos y estoy seguro de que agregas métodos a la página todo el tiempo.

Utilizo propiedades en mis páginas asp.net para acceder a Session, Viewstate y querystring. Simplemente te hace escribir menos código y aumenta la legibilidad

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top