asp.net-mvc - 您想要完全用代码创建 View 的 ASP.NET MVC View 引擎吗?

标签 asp.net-mvc viewengine

最近我创建了一个 View 引擎的尖峰,其中 View 是普通类,内容是通过使用有趣的 using 范围 block 创建的。

代码和简单的示例站点可在 http://code.google.com/p/sharp-view-engine/ 获取。

在这里我想听听您对这个想法的看法。是完全奇怪还是有人喜欢它?

最佳答案

我实际上喜欢那样。

我可以同意 DSL(例如解析器组合器或在数据上下文中生成 XML 节点),但在这种情况下,我认为太多了正在被放入代码中。最终,这只会使边界变得复杂并导致代码难以维护。 (您已经可以执行相同的操作,但只需使用“标准”Web 控件即可更加详细。您始终可以在 C# 中使用 {subblock} 来限制变量范围。)

我更喜欢使用的方法是带有绑定(bind)的模板(但没有“模板中的代码”)。这使得“设计师”(希望不是我,或下一个人)可以轻松地编辑他们认为合适的 View 布局。但是,核心逻辑(可用控件和绑定(bind))保留在代码中 - 整洁。 (模板的另一个优点是,如果它们位于外部,则不需要对每一个微小的更改进行重新编译。)

简单性和可维护性就像......禅宗。

关于asp.net-mvc - 您想要完全用代码创建 View 的 ASP.NET MVC View 引擎吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2563270/

相关文章:

c# - '无法加载文件或程序集 'System.Web.Helpers' 或其依赖项之一

ASP.NET(MVC)Outputcache和并发请求

javascript - 带有 Express 和 Handlebars 的 NodeJs -handlebars.engine 未定义

asp.net-mvc - 使用 ASP.NET MVC 作为电子邮件模板引擎 : Good Idea?

asp.net-mvc - ASP.NET MVC 是否可以从从数据库中提取的模板呈现 View ?

Node .js : rendering error with vash

ASP.NET Web 表单渲染引擎输出控制树?寻找有关渲染逻辑的信息

asp.net-mvc - 如何将对象传递给我的 VIewModel 的构造函数? ASP.NET MVC 3,忍者

javascript - Array.Push 仅返回最后推送的对象。如何解决?

javascript - 使用 .net 发布大文件后出现 404