2009-07-29 11 views
5

Me doy cuenta de que al hacer esta pregunta, podría haber comenzado el apocalipsis, pero un colega mío utiliza una gran cantidad de codificación en línea en sus páginas aspx, donde como prefiero usar el código detrás.ASP.NET - Inline vs. Code-Behind

¿Hay una manera correcta y una incorrecta aquí?

+0

Dupe de http : //stackoverflow.com/questions/702343/ondatabinding-vs-inline-pros-cons-and-overhead –

+0

Sí, Kelsey lo señaló. Aunque no es lo mismo, estoy buscando si hay una manera correcta de hacer las cosas, principalmente para un proyecto en el que estamos a punto de empezar a trabajar. – LiamGu

Respuesta

5

No, a menos que su estándar de codificación indique lo contrario.

IMO code-behind ayuda a la separación de las preocupaciones, así que prefiero eso, pero a veces solo tratar con un archivo es bueno también.

5

Code-behind es el lugar más tradicional y lógico. Si funciona, funciona, pero no soporto hacerlo en el aspx.

+1

Sé lo que quieres decir, en línea conmigo grita Classic ASP. El único problema con el uso del código subyacente que tengo es que tampoco puedo heredar otra página. Al menos yo no lo creo Mientras que con el argumento de mis colegas, pueden heredar una página y usar el código en línea que resuelve este problema. Este debate se inició de hecho a través de este mismo problema. – LiamGu

+0

Creo que asp.net MVC vuelve a la línea, en cierta medida. La historia se repite. – shahkalpesh

1

hice el puesto exacto hace un tiempo:

OnDataBinding vs Inline: pros, cons and overhead

prefiero el código subyacente. Por lo general, tengo un área #region para todas las cosas de enlace de datos. Permite a las personas cualificadas en HTML/CSS modificar el HTML y todo lo que tienen que saber es qué controles básicos usar y definir el evento OnDataBinding en la definición del control. Pueden mover cosas y hacer lo que sea y no tienen conocimiento de lo que realmente se necesita para llevar los datos a esa conexión de datos, ya que podría no ser tan simple como simplemente una 'evaluación (' algo ') básica.

+0

Ah, no vi eso. Perdón por la doble publicación efectiva. – LiamGu

+0

La búsqueda no siempre da vuelta a los dups, lo he hecho también en el pasado;) – Kelsey

0

No hay ningún problema con esto.

Puede escribir un código en línea &, algo de lo cual debe escribirse en código subyacente. No puede ser absoluto. Depende de qué tan legible/mantenible se vuelva cuando lo escriba en el otro lado.

EDITAR: Como se dice, escriba el código para & humana incidentalmente para el compilador.

0

Tiendo a utilizar el código subyacente ya que es la única forma de que WPF y yo tratemos de mantenernos consistentes y se siente más natural. Pero eso es subjetivo.

1

Bueno, hay un código en línea, y luego hay un código en línea. Si tienes un bloque de scripts en la parte superior para tu page_load, eso está bien. Pero si está mezclando muchas picaduras de abeja (<% %>) con el marcado, eventualmente comenzará a tener problemas cuando las picaduras de abeja no funcionen como lo haría con otros controles del servidor.

1

Personalmente, prefiero los errores de compilación a los errores de tiempo de ejecución, así que puse toda mi lógica en el código detrás.

Ocasionalmente, cuando solo necesito un valor para mostrar en la página pondré <% = SomeValue%> pero incluso entonces prefiero crear una etiqueta y configurarla.

1

quiero hacer seguro de entender la pregunta - por en línea, quiere usted decir fragmentos como

<a><% some.asp.net.code %></a> 

o quiere usted decir uno contra dos archivos para cada página:

page.aspx 
page.aspx.cs 

?

porque no soy un fan de lo que llamo el código 'incrustado' en el primer ejemplo, pero yo prefiero código y marcado en el mismo archivo con un < guión runat = "server">

+0

El código en línea para mí es ambos

  • 11. TinyMCE Textarea Cambio no reconocido por ASP.NET CodeBehind
  • 12. Inline Definiciones
  • 13. .NET vs ASP.NET vs CLR vs ASP
  • 14. ASP.NET MVC vs. ASP.NET 4.0
  • 15. ASP.Net MVC vs ASP.Net Formularios
  • 16. ASP.NET MVP vs ASP.NET MVC
  • 17. Node.JS VS HttpAsync (asp.net)
  • 18. ASP.Net: Literal vs Etiqueta
  • 19. ASP.NET vs Silverlight
  • 20. ASP.NET MVC vs XSL
  • 21. ASP.NET @Register vs. @Reference
  • 22. ASP.NET MVC Session vs Global vs Cache
  • 23. ASP.NET AJAX vs jQuery en ASP.NET MVC
  • 24. aplicación ASP.NET ASP.NET Nube Vs Ordinaria
  • 25. Jade Inline Conditional
  • 26. Inline array inicialización
  • 27. Inline struct declaration
  • 28. 'inline' en JavaScript?
  • 29. Delphi 2010 inline inútil?
  • 30. ¿Cómo funciona F # inline?