Dopo aver usato Seaside negli ultimi anni, ho trovato che i sistemi di template erano un cattivo odore di codice. Esiste un framework per .net che utilizza qualcosa di simile al sistema canvas Seaside per generare html, css e javascript? Oppure un modo per evitare la duplicazione che tendo a trovare nei modelli.Generatore HTML per .NET?
[Modifica] NHaml non si avvicina a quello che sto cercando. Il punto non è avere una scorciatoia per (X) HTML, ma avere un linguaggio di programmazione in cui posso refactoring e riutilizzare il codice.
In riva al mare, potrebbe assomigliare a questo: (la tela è il costruttore di HTML [e javascript])
renderContentOn: canvas
canvas form
class: 'eventEditor';
with:[
self renderWhoOn: canvas;
renderButtonsOn: canvas]
In questo metodo, che io chiamo due subroutine
renderWhoOn: canvas
self decorateDivAndLabel: 'Who' on: canvas around: [
canvas select
id: tagId;
selected: model who;
list: model whoList;
callback: [:value | model who: value]]
La prima si chiama un decoratore attorno a un elemento del modulo selezionato:
decorateDivAndLabel: aString on: canvas around: aBlock
canvas div: [
canvas label
for: (tagId := canvas nextId);
with: aString,':'.
aBlock value]
Ciò consente di eliminare quasi tutti i duplicati sopra.
Sì, questo sembra l'approccio giusto. Hai usato Seaside prima o solo buon senso :) –