相关疑难解决方法(0)

用于.NET的HTML生成器?

在过去的几年里,我使用了Seaside,我发现模板系统是一种糟糕的代码味道.是否有.net的框架使用类似于Seaside画布系统的东西来生成html,css和javascript?或者是一种避免重复的方法,我倾向于在模板中找到.

[编辑] NHaml并没有接近我正在寻找的东西.关键是没有(X)HTML的简写,但有一种编程语言,我可以在其中重构和重用代码.

在Seaside中,它可能看起来像这样:(画布是html [和javascript]的构建者)

renderContentOn: canvas
    canvas form
        class: 'eventEditor';
        with:[
            self renderWhoOn: canvas;
                 renderButtonsOn: canvas]
Run Code Online (Sandbox Code Playgroud)

在这个方法中,我调用了两个子程序

renderWhoOn: canvas
self decorateDivAndLabel: 'Who' on: canvas around: [
    canvas select
        id: tagId;
        selected: model who;
        list: model whoList;
        callback: [:value | model who: value]]
Run Code Online (Sandbox Code Playgroud)

第一个调用选择表单元素周围的装饰器:

decorateDivAndLabel: aString on: canvas around: aBlock
canvas div: [
    canvas label
        for: (tagId := canvas nextId);
        with: aString,':'.
    aBlock value]
Run Code Online (Sandbox Code Playgroud)

这样可以消除几乎所有的重复.

.net templates seaside

7
推荐指数
1
解决办法
2189
查看次数

标签 统计

.net ×1

seaside ×1

templates ×1