html从魔鬼拼图到行云流水之三
解决方䅁就是,统一语境,至少大量减少切换频。
Asp,Net Web Form就是一个不错的尝试,HTML标记对象化,把不变内容HTML标记,统一到后台语境。一个个HTML标记都成为后台对象,变量填充自然在后台,以对象赋值的方式,统一的实施,跨越了语境的切换。这也是Web Form命名的含义,让网页像桌面一样一致编程。应该,说微软的这个技术方向还是比较成功的。至少,我就是在这个环境下,得进入Web行业,反过来,从后台的模型学习HTML前台DOM。
然而,Web Form的败笔却在架构方面,对象化HTML后,后台的处理反过来,全都以页面为中心概念,妄图忽略前端与后端的时间差(服务端控件?),真的把互联网当成了本地高速网了?
ASP MVC呼之即出,从1到3,4也在测试当中,发展相当之快。虽然,是后台的架构改变,对前端的影响也是巨大的。MVC结构不能再延用Web Form了,那是鸡同鸭讲。
历史总在绕圏圈,我们又回到ASP时代,用嵌入的变量拼凑HTML代码。
<span><%=Value%></span>
从一片空白开始,重新出发。很快,微软推出了HtmlHelper,一点一点,把碎片重新粘合起来。MVC3又推出了Razor视图引擎,让视图真正成为模板,当然后面仍有一个类在支持视图,但提供了更大的灵活性支持扩展,前文有详叙。而且,Razor在语法上也进一步减少碎片,不用结束符,不用加尖括号,智能识别环境变化,是HTML模式还是后台模式? 所有这些是解决本文开始所描述的碎片问题,代码碎片和思维的碎片。
完了?等等,所有这些似乎只是再为我们最后的英雄出场作准备。真正让Html行云流水,Fluent Html.
http://lunaverse.wordpress.com/category/ms-mvc/fluenthtml/
看看生成表格的一段代码吧,一段代码胜过一千张图。
@model IEnumerable<ExamDTO>
@this.Grid(Model).Columns(c=>
{
c.For(x => x.Code).Named("代码");
c.For(x => x.Name).Named("名称");
c.For(x=>"删除").Named("操作");
}).Empty("没有记录!")
皓月碧空,漫野如洗,行往卓越的路上
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!