Al haber usado Seaside en los últimos años, he encontrado que los sistemas de plantillas son un mal olor a código. ¿Existe un marco para .net que use algo similar al sistema de lienzo Seaside para generar html, css y javascript? O bien, una forma de evitar la duplicación que suelo encontrar en las plantillas.¿Generador de HTML para .NET?
[Editar] NHaml no se acerca a lo que estoy buscando. El punto no es tener una abreviatura de (X) HTML, sino tener un lenguaje de programación en el que pueda refactorizar y reutilizar el código.
En Mar, que podría tener este aspecto: (el lienzo es el constructor de HTML [y javascript])
renderContentOn: canvas
canvas form
class: 'eventEditor';
with:[
self renderWhoOn: canvas;
renderButtonsOn: canvas]
En este método, llamo a dos subrutinas
renderWhoOn: canvas
self decorateDivAndLabel: 'Who' on: canvas around: [
canvas select
id: tagId;
selected: model who;
list: model whoList;
callback: [:value | model who: value]]
La primera uno llama a un decorador en torno a un elemento de formulario seleccionado:
decorateDivAndLabel: aString on: canvas around: aBlock
canvas div: [
canvas label
for: (tagId := canvas nextId);
with: aString,':'.
aBlock value]
Esto permite eliminar casi todos los duplicados en.
Sí, esto suena como el enfoque correcto. ¿Usaste Seaside antes, o simplemente sentido común? –