1

我有一个关于如何使用 MVC 框架生成多视图(视图控件)的技术问题,其中视图是动态生成的(从数据库获取详细信息)。

根据 asp.net,视图(控件)的生成将需要放置在页面的 PreInit 或 Load 事件中。需要一些关于如何继续的技术指导。

还是再次使用问题是如何做的好习惯。也欢迎任何其他替代解决方案..

4

1 回答 1

0

你可能应该尝试这样的事情:

根据 XML 配置生成 ASP.NET MVC 视图控件

数据源是 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>

请注意,当您以这种方式生成视图时,您不会获得太多“形状”;它主要用于配置表单之类的东西。尽管您可以将元数据放入数据库中,例如页面上控件的位置,但当您完成所有这些操作时,您最好还是制作常规视图。

于 2012-12-07T00:14:32.680 回答