Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 运行时的MVC4建筑视图_C#_.net_Asp.net Mvc_Asp.net Mvc 4_Razor - Fatal编程技术网

C# 运行时的MVC4建筑视图

C# 运行时的MVC4建筑视图,c#,.net,asp.net-mvc,asp.net-mvc-4,razor,C#,.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我已经编写了一个WPF桌面应用程序,其中视图的布局是在运行时根据数据库中的配置生成的。出现了一个新的要求,即他们希望通过web公开相同的布局 就我所知,我有两个选择 在运行时生成MVC视图 在单独的视图中对布局进行编码,并通过正常的模型绑定机制绑定数据 我可以看到第一个选项可能非常复杂(我完全赞成简单),我不确定模型绑定将如何工作。第二个选项将更简单,但会产生更多需要增强\维护的“锅炉板”代码 是否有人以前有过在运行时生成Razor视图的经验,或者这是我应该避免的事情?这可以通过T4模板和运

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

就我所知,我有两个选择

  • 在运行时生成MVC视图
  • 在单独的视图中对布局进行编码,并通过正常的模型绑定机制绑定数据
我可以看到第一个选项可能非常复杂(我完全赞成简单),我不确定模型绑定将如何工作。第二个选项将更简单,但会产生更多需要增强\维护的“锅炉板”代码


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

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