最近在做个包含了大量重复样式的控件的网站.

如果用MVC的话,我可以针对每个需要单独块编辑的Model写一个局部视图.

然后根据不同逻辑需求拼起来.用现成MVC框架非常容易做到.

但环境是3.5的最高只能用MVC2,没有razor语法,加上没装开发环境.

于是想干脆自己写一个模板生成HTML的框架,一开始也报了点好玩的想法.

但做到后面就觉得,和MVC比起来功能太弱,但自由度很高,想什么样功能都不受限制.

主要代码并不多.

我用json数据来保存视图配置,反序列化得到实例,然后根据手动定义的视图配置+事先定义好的Html模板代码->生成最终html.

分成了几种类型:

page:页面

panel:面板

control:控件.

偷懒没有写各种控件类,所有属性放这个类里,目前功能不多还好,如果扩展越多就比较乱了.

Html模板代码类似这样:用{属性名}来替换数据.

<div class="item"><span class="iname"><i>{require}</i>{label}</span>
<input id="{name}" name="{name}" placeholder="{placeholder}" text="{label}"
onblur="" maxlength="{maxlength}" type="text"></div>

Json数据类似这样:(后来写了一个自动生成基础json数据的工具,生成默认配置的json数据)

{
"label":"标题",
"name":"Basic",
"controls":[
{
"name":"id_type",
"label":"证件类型",
"type":"combox",
"column":"BusinessIDCardInfo",
"valid":"checkNull"
},
"panels":[ ]
}

最后在aspx页面调用组合各个page.支持多个页面跳转的功能.check2是由跳转按钮触发,每个Page对象一个跳转函数,该函数内,先执行框架内置验证函数checkfunc(也是每个page一个),然后

可以执行自定义验证函数.最后调用next2(),也是框架内置的跳转函数,根据当前页数决定是跳转还是提交.

<asp:Content ID="Content1" ContentPlaceHolderID="content" Runat="Server">
<input type="hidden" name="pbtype" value="p" />
<%=WechatPrefill.Manager.GetHtml("pBasic",1,2,"新的标题") %>
<%=WechatPrefill.Manager.GetHtml("pEbank",2,2) %>
<script>
function check2() {
              function check2() {
                if (!checkfunc2()) return;
                next2();
            }
</script>

功能类其实很少,本人写代码习惯是写少一点.

aaarticlea/png;base64,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" alt="" />

贴一下主要功能代码:

根据反射obj的属性,根据名字替换模板中指定文本.

这里除了string,int还有Dictionary类型需要特别处理.

所有模板替换都在这一个函数里完成.

public static string GetHtml(string tempHtml,object obj)
{
var t = obj.GetType();
foreach (var field in t.GetFields())
{
var value=field.GetValue(obj);
if (value == null)
{
tempHtml = tempHtml.Replace("{" + field.Name + "}", "");
continue;
}
.....
}

这是Panel类,先替换标题文本,获取panel的模板数据,反射替换模板.

public class Panel : Itemplate
{
public string name;
public string label;
public string img;
public List<Control> controls; public string Html()
{
label = Manager.GetLabel(label);
var temp = Template.GetTemplate("panel");
return Template.GetHtml(temp, this);
}
}

最后还有生成数据方面.

因为已经用了反射比较影响效率,本来不想用递归,不过由于属性的层级可能很深(可能是A.b.C.D.E.property)所以,如果完全用循环,代码要写很长.

还是递归比较简单.

aaarticlea/png;base64,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" alt="" />

最后其实我想说,后悔这么做了.

因为太麻烦了,这些功能MVC现成框架都有,而且更强大的多.

玩玩的话是不错,应用到实际项目中还是要慎重考虑.

Asp.net自制模板框架的更多相关文章

  1. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(12)-实现用户异步登录和T4模板

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(12)-实现用户异步登录和T4模板 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建  ...

  2. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2): ...

  3. 新作《ASP.NET MVC 5框架揭秘》正式出版

    ASP.NET MVC是一个建立在ASP.NET平台上基于MVC模式的Web开发框架,它提供了一种与Web Form完全不同的开发方式.ASP.NET Web Form借鉴了Windows Form基 ...

  4. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(24)-权限组的设计和实现(附源码)(终结)

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  5. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  6. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(22)-为用户设置角色

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  7. ASP.NET MVC+EF框架+EasyUI实现权限管理系列

    http://www.cnblogs.com/hanyinglong/archive/2013/03/22/2976478.html ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开 ...

  8. 关于html、asp、php模板引擎、aspnet mvc、REST的一点思考

    先看我对REST的一点认识,下面是<rest实战> 这本书的序言文字:      在我刚刚开始从事解决计算问题的时候,业界就有很多人有一个愿望:将系统设计为能够被自由组合的组件.互联网(I ...

  9. 《ASP.NET MVC 5 框架揭秘》

    <ASP.NET MVC 5 框架揭秘> 基本信息 作者: 蒋金楠 出版社:电子工业出版社 ISBN:9787121237812 上架时间:2014-8-1 出版日期:2014 年8月 开 ...

随机推荐

  1. Android PagerAdapter

    本基类是ViewPager提供填充页面内容的适配器(数据与显示内容之间桥梁).通常,人们不是直接使用本基类的,而是使用这个基类的实现:FragmentPagerAdapter   或者Fragment ...

  2. hunnu 小明的烦恼——找字符串

    http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11544&courseid=0 小明的烦恼——找字符串 ...

  3. Linux内核系列设备模型(一) Kobject与Kset

    1.Kobject Kobject是设备驱动模型的核心结构,它使所有设备在底层都有统一的接口.在内核注册的kobject对象都会对应sysfs文件系统中的一个目录(目录名称有Kobject结构中k_n ...

  4. POJ2479,2593: 两段maximum-subarray问题

    虽然是两个水题,但是一次AC的感觉真心不错 这个问题算是maximum-subarray问题的升级版,不过主要算法思想不变: 1. maximum-subarray问题 maximum-subarra ...

  5. hdoj 1898 Sempr == The Best Problem Solver?

    Sempr == The Best Problem Solver? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/3276 ...

  6. [置顶] 斗地主算法的设计与实现--项目介绍&如何定义和构造一张牌

    大学期间,我在别人的基础上,写了一个简易的斗地主程序. 主要实现了面向对象设计,洗牌.发牌.判断牌型.比较牌的大小.游戏规则等算法. 通过这个斗地主小项目的练习,提高了我的面向对象设计能力,加深了对算 ...

  7. PL/SQL基础

    打印  hi set serveroutput on   --打开输出开关 declare           --说明部分(变量说明,光标申明或者例外说明) begin           --程序 ...

  8. 编写Word宏使选中的图片改变为固定宽度并保持纵横比

    代码如下: Sub 改变图片宽度为12并设置灰色边框() ' ' 改变图片宽度为12并设置灰色边框 宏 ' '     ' Application.Run MacroName:="改变图片大 ...

  9. linux命令行模式下实现代理上网

    有些公司的局域网环境,例如我们公司的只允许使用代理上网,图形界面的很好解决就设置一下浏览器的代理就好了,但是linux纯命令行的界面就....下面简单几步就可以实现了! 一.命令行界面的一般代理设置方 ...

  10. win 8(win 7)批处理设置IP

    适合所有经常更改IP的朋友,里面的内容可用可用根据自己的需要随意修改 @rem 根据自己的需要修改带 (@rem/注释)的地方,修改完毕后直接将本文件后缀名.txt改为.bat即可使用 @rem 运行 ...