在過去幾年使用Seaside後,我發現模板系統是一種不好的代碼味道。是否有.net框架使用類似於海邊畫布系統生成html,css和javascript?或者避免我在模板中找到的重複。.NET的HTML生成器?
[編輯] NHaml不來接近我要找的。重點不在於(X)HTML的簡寫,而是使用編程語言來重構和重用代碼。
在海邊,它可能是這樣的:(畫布是HTML [和javascript]的建造者)
renderContentOn: canvas
canvas form
class: 'eventEditor';
with:[
self renderWhoOn: canvas;
renderButtonsOn: canvas]
在這種方法中,我叫兩個子程序
renderWhoOn: canvas
self decorateDivAndLabel: 'Who' on: canvas around: [
canvas select
id: tagId;
selected: model who;
list: model whoList;
callback: [:value | model who: value]]
第一一個身邊召喚一個選擇表單元素的裝飾:
decorateDivAndLabel: aString on: canvas around: aBlock
canvas div: [
canvas label
for: (tagId := canvas nextId);
with: aString,':'.
aBlock value]
這使得消除幾乎所有duplicati上。
是的,這聽起來像是正確的方法。你之前用過Seaside,還是隻是常識:) – 2010-11-17 08:53:03