基于Asp.Net MVC3中数据库返回的字段构建动态视图
本文关键字:字段 构建 动态 视图 返回 数据库 Asp Net MVC3 基于 | 更新日期: 2023-09-27 17:59:11
我想在运行时根据从数据库返回的字段呈现视图。对于设计原型/方法,应感谢任何帮助
我有下面的模型,
public class DynamicFields
{
public string propertyName { get; set; }
public string propertyType { get; set; }
}
在控制器中,它将是List<DynamicFields>
因此,基于propertyType,我必须呈现控件,如TextBox/DateTime
您可以为propertyType
的每个值创建EditorTemplates
_textInput.cshtml(假设textInput是propertyType
的可能值)
@model DynamicFields
@Html.TextBoxFor(item => Model.propertyName)
_dateTimeInput.cshtml(假设dateTimeInput是propertyType
的可能值)
@model DynamicFields
@Html.TextBoxFor(item => Model.propertyName, new {class = "datetime"})
视图:
@model IEnumerable<DynamicFields>
@foreach(var field in Model){
@Html.LabelFor(model => field.propertyName)
@Html.EditorFor(model => field.propertyName, field.propertyType) @*tell razor which template to use *@
}
更多信息可以在这里找到:http://msdn.microsoft.com/en-us/library/ee407414(v=vs.118).aspx
更新了我的答案,考虑到foreach循环,并从这个答案中获得了知识:https://stackoverflow.com/a/1987585/690178