MVC4在运行时构建视图

时间:2014-02-12 14:42:59

标签: c# .net asp.net-mvc asp.net-mvc-4 razor

我编写了一个WPF桌面应用程序,其中视图的布局是在运行时根据数据库中的配置生成的。他们希望通过网络公开相同的布局,因此出现了新的要求。

据我所知,我有两个选择

  • 在运行时生成MVC视图
  • 在单独的视图中对布局进行编码,并通过普通的模型绑定机制绑定数据。

我可以看到第一个选项可能非常复杂(我只是为了简单)而且我不确定模型绑定是如何工作的。第二个选项会更简单,但会产生更多需要增强\维护的“锅炉板”代码。

有没有人有过在运行时生成Razor视图的经验,或者这是我应该避免的事情?

1 个答案:

答案 0 :(得分:0)

这可以通过混合使用T4模板和运行时编译来实现 - 但我不确定是否会推荐它。我建议的另一条路线是在服务器端生成可以在客户端呈现的JavaScript模板。那里有一个wide variety个模板库。因为您正在使用MVC,所以将控制器中的操作视为可以异步调用的端点并不困难。