【问题标题】:Generating views at runtime from a database table在运行时从数据库表生成视图
【发布时间】:2012-11-25 03:28:17
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# asp.net-mvc runtime multiviews


    【解决方案1】:

    你应该试试这样的:

    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>
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      • 2018-09-24
      • 2011-08-17
      • 2019-02-14
      相关资源
      最近更新 更多