我有一个关于如何使用MVC框架生成Multiviews(视图控件)的技术问题,其中视图是动态生成的(从DB获取详细信息)。
根据asp.net,视图(控件)的生成需要放在页面的PreInit或Load事件中。需要一些关于如何继续的技术指导。
或者再次使用是一个好习惯,问题是如何。任何其他替代解决方案也欢迎..
答案 0 :(得分:0)
你应该尝试这样的事情:
Generating ASP.NET MVC View Controls According to XML Configurations
数据源是XML,但这并不重要;您应该能够将该技术适用于包含视图元数据的数据库表。
编辑器表单的“元视图”代码如下所示:
@model DynamicControlsCreation.ViewModels.DefaultControlsViewModel
<p>
@using (Html.BeginForm())
{
for (int i = 0; i < Model.Controls.Count; i++)
{
<div>
@Html.HiddenFor(x => x.Controls[i].Type)
@Html.HiddenFor(x => x.Controls[i].Name)
@Html.EditorFor(x => x.Controls[i])
</div>
}
<input type="submit" value="Submit" />
}
</p>
请注意,以这种方式生成视图时,您不会获得太多“形状”;它对配置表单等内容非常有用。虽然您可以将数据库放在数据库中,就像页面上控件的位置一样,但是当您完成所有这些操作时,您可能最好只进行常规视图。