我在 WebForms 方面有很好的经验,但现在我想为我的下一个 ASP.NET 项目走得更远。我希望网站管理员可以完全自定义新应用程序的 UI。
目前,使用 WebForms,为了只修改自定义模板文件夹中页面/控件的外观,可以执行以下操作:
- 定义 .ascx/.aspx 文件以便从包含逻辑的正确类继承
- 让应用程序使用
LoadControl
从动态文件路径加载控件对象
“修改外观”的示例可能意味着在页面上移动控件,使用搜索按钮反转搜索框,等等......我的意思不仅仅是编辑 CSS、字体、图标等。
我还没有使用 MVC,但我阅读了一些教程。这里有几个问题需要进一步研究:
- MVC4 是否可以很好地与 Mono 一起使用?
- MVC 是否支持母版页或类似的概念?我想为所有页面定义一个通用布局,并使用适当的模板专门化每个页面的内容。如果没有,我可以使用什么样的构造?
- MVC 是否带有内置的 AJAX 支持?否则,我可以使用哪些免费工具在 MVC 中开发 AJAX 网站?
- MVC 是否支持用户控件的概念?我想开发一个
login-with-facebook-or-any-other-openid
盒子的视图/控制器逻辑和布局,与它所在的页面分开,就像我对 .ascx 文件所做的那样。我怎样才能做到这一点?
我已经阅读了 Razor 模板引擎,这似乎是一个很好的起点。就我而言,我通常希望保持视图/控制器逻辑“静态”并允许管理员仅更改外观。因此,例如,可以覆盖搜索框的外观,但它总是会触发相同的操作做相同的事情(搜索数据库)