【问题标题】:In ASP.net MVC , how to use a dynamic model?在 ASP.net MVC 中,如何使用动态模型?
【发布时间】:2011-11-04 14:54:00
【问题描述】:

我使用北风示例从我的 sql 2008 服务器数据库创建模型。 Model.Order,我想动态使用Order行,就像datatable

DataTable a = New DataTable() .

.......将订单数据填入表a.然后我就可以使用了

a[1]a["orderid"] 获取数据。 但是在mvc中 我可以使用Model.Order a = new Model.Order() ...用数据填充 a 。 使用a.OrderID获取数据

有没有办法用 count 这样的方法来计算它

 for(int i=0;i<a.count;i++)
    {
      //how to get the data like these way ??
    } 

【问题讨论】:

    标签: c# model-view-controller dynamic model


    【解决方案1】:

    从您上面的回复看来,您想使用 ModelMetadata 来显示未知模型类型的数据。我开发了 Dynamic MVC 来做这样的事情。让我知道这是否有帮助。

    http://dynamicmvc.com

    【讨论】:

      【解决方案2】:

      这个答案应该回答你的问题

      Enumerating through an object's properties (string) in C#

      使用 Model.GetProperties() 获取所有属性的列表。然后使用 foreach 获取它们的名称和值。希望对你有帮助

      【讨论】:

        【解决方案3】:

        一般来说,您希望为您的视图提供IEnumerable&lt;T&gt;。例如,您可以执行以下操作:

        @model IEnumerable<Project.WebUI.Models.Order>
        
        @foreach (var item in Model) {
            <h1>item.Customername</h1>
        }
        

        在您的控制器中,您必须创建一个IEnumerable&lt;Order&gt; 集合,然后将其传递给视图。由于控制器只是一个 C# 类,因此创建集合的过程与您在之前的 .NET 工作中所了解的过程相同。

        在 MVC 中您必须意识到的唯一新事物是视图是愚蠢的。它不进行任何代码处理,只是将您从控制器提供的信息打泡成您在视图中定义的格式。

        这有意义吗?

        【讨论】:

        • 这个我知道,但是我有很多像order这样的表,所以在控件中我喜欢枚举order的列,我不知道列名,我喜欢这个
        • 这个我知道,但是我有很多像order这样的表,所以在控件中我喜欢枚举order的列,我不知道列名,我喜欢在控件中的函数:public string getJsonData( orders){ foreach(var item in orders) { StrinbBUilder sb = new StringBuilder ; for(int i =0;i
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-06
        • 2010-12-07
        • 2021-10-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多