动态创建html控件(反射?)

时间:2013-07-19 20:59:15

标签: c# asp.net-mvc

我的网络应用程序的第一部分是创建一个界面,用户可以在其中创建字段名称和与字段名称关联的数据类型。 现在我需要创建第二部分,从数据库中提取这些字段名称以及与它们相关联的数据类型,并使用这些字段名称/数据类型动态创建html控件。例如,如果其中一个字段名称为“birthdate”且数据类型为“datetime”,则我的视图应自动创建名称属性为“birthdate”的html文本框。如果字段名称为“活动”且数据类型为布尔值,则视图应自动创建名称属性为“活动”的复选框。有没有人对如何在MVC中这样做有任何建议?我假设我需要使用反射,当我必须回发数据时,我将不得不发回一个json对象。

2 个答案:

答案 0 :(得分:0)

你可以使用mvc htmlhelpers。例如,一个灵活的htmlhelper for dropdownlist,它接受集合和其他参数。另一个htmlhelper来获取集合并提供列表框和..... 并且在您的视图中,您可以按类型使用此htmlhelpers。

答案 1 :(得分:0)

我没有创建自己的htmlhelpers,但我做了类似的事情。我使用字符串构建器在我的控制器的get方法中动态创建html,然后将其发布到视图中。