2008-09-11 5 views
6

Estoy trabajando con mi equipo de desarrollo de ASP.NET para intentar crear "mejor" (es decir, limpiador) HTML al procesar páginas. Por el momento, .NET tiene una tendencia desagradable a hacer cosas como volcar JavaScript en la página, por lo que es un requisito obligatorio en los controles de formulario y no permite que los formularios funcionen cuando JS no está disponible. En algunos casos, estamos luchando para superar esto sin tener que agregar un trozo notable a las estimaciones de tiempo de desarrollo.¿Me dará .NET MVC la separación HTML/CSS/JS que necesito?

He trabajado anteriormente con MVC, a través de Struts en Java, y descubrí que, en esa instancia, podía mantener las páginas HTML exactamente como deseaba. (Este punto de vista se basa en el "mejor de los casos" HTML estático que suele realizar de antemano, y luego entregado a los programadores de Java para rellenar los agujeros.)

Esto funcionó muy bien y hemos sido capaces de producir algún de las "mejores" páginas web de un CMS que he visto. ¿Podría .NET MVC darme la separación que necesito, o sería una falsa economía dejar de lado el valioso tiempo de desarrollo para probar esto?

Si .NET MVC no me va a dar este control detallado sobre la separación, cualquier recomendación para prácticas de codificación .NET, bibliotecas, etc. que podría ser realmente útil.

Respuesta

5

El ASP.NET MVC Framework le daría una separación mucho más familiar. Debido a que no hay viewstate, etc. en MVC Framework no tendrá que preocuparse de que JavaScript se descargue en sus páginas. Las únicas llamadas de JavaScript que verá serán las que agregue manualmente.

Puede, en general, separar HTML/CSS/JS como lo haría en un marco diferente.

+0

¿Hay advertencias específicas de las que debería tener conocimiento? – markedup

+0

No realmente - Es bastante directo si vienes desde la perspectiva de usar el HTML y tener el marco ASP.NET MVC lleno en los agujeros. Recomendaría consultar el sitio de Stephen Walther: http://weblogs.asp.net/StephenWalther/ para obtener una buena cantidad de tutoriales y http://asp.net/mvc –

3

Según el motor de vista que va a utilizar. sí.

Pero puede verificarlo fácilmente mirando la fuente de la página para desbordamiento de pila. No es jardín zen, pero está bastante limpio.

Algunas aclaraciones más:

La prestación de las páginas se realiza por el motor de vista. Puede usar el motor de vista estándar o los existentes como nVelocity o Brail, al igual que con monorriel. http://www.chadmyers.com/Blog/archive/2007/11/28/testing-scottgu-alternate-view-engines-with-asp.net-mvc-nvelocity.aspx

Como el motor de vista es responsable de crear HTML, lo que sale depende de su elección. Pero la mayoría de los motores de vista son mejores a este respecto que vanilla ASP.Net

+0

¿Podría ser más específico/ofrecer ejemplos, por favor? No soy un codificador de ASP, así que no estoy seguro de a qué te refieres. Estoy tratando de buscar alternativas para presentar a mi equipo. Gracias por adelantado. – markedup

1

@Wrestlevania dijo:

alguna recomendación para .NET de codificación prácticas, bibliotecas, etc., que podrían sería de gran ayuda.

Intento mantener un alto nivel de separación durante la codificación en ASP.Net. Me parece que si evito los controles asp y me quedo lo más posible con los elementos html básicos, puedo evitar cualquier situación en la que ASP.Net esté dispuesto a insertar CSS o JS adicionales en mi página. Ejemplo, use span en lugar de asp: literal, botón en lugar de asp: botón, etc.

El único control ASP que uso es el repetidor, que se usa para crear una tabla. Cualquier funcionalidad que necesite que sea similar a un control asp, me implementaré en javascript o usaré un framework como jquery.

+0

Estamos trabajando en este tipo de limitaciones, en parte, pero estoy encontrando resistencia (¡problema separado!) para eliminar completamente los controles ASP. Estoy usando jQuery para la mayoría de las codificaciones de JavaScript en este momento y, aparte de que ASP cambie algunas ID, está funcionando bien. Gracias. – markedup

0

Asp.Net MVC lo ayudará a mantener html/css/js separados ya que presentará menos funciones que le impedirían mantenerlos separados.

Por ejemplo, los helpers Html generalmente devuelven eso: Html. Desde ese punto, puede elegir mantener toda la información de estilo asociada solo por atributos de clase.

Considere también investigar las prácticas que generalmente sigue con una biblioteca como jQuery. Es un excelente ejemplo de cómo mantener la funcionalidad con guiones completamente en su js y fuera de su html aplicando los comportamientos de manejo de eventos a los elementos en la carga de la página en función de elementos como tipo de elemento, clase e id.

Cuestiones relacionadas