C# 在ASP.NETMVC中,如何使用动态模型?

C# 在ASP.NETMVC中,如何使用动态模型?,c#,model-view-controller,dynamic,model,C#,Model View Controller,Dynamic,Model,我使用northwind示例从sql 2008 server数据库创建模型。 Model.Order,我想动态使用订单行,就像datatable DataTable a = New DataTable() . ……将订单数据填入表a,然后我可以使用 a[1]或a[“orderid”]获取数据。 但是在mvc中 我只能使用Model.Order a=newmodel.Order() …用数据填充a。 使用a.OrderID获取数据 有没有办法和伯爵一起去 for(int i=0;i<a.

我使用northwind示例从sql 2008 server数据库创建模型。 Model.Order,我想动态使用订单行,就像
datatable

DataTable a = New DataTable() .
……将订单数据填入表a,然后我可以使用

a[1]
a[“orderid”]
获取数据。 但是在mvc中 我只能使用
Model.Order a=newmodel.Order()
…用数据填充a。 使用
a.OrderID
获取数据

有没有办法和伯爵一起去

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

for(int i=0;i一般来说,您希望为视图提供一个
IEnumerable
。例如,您可以执行以下操作:

@model IEnumerable<Project.WebUI.Models.Order>

@foreach (var item in Model) {
    <h1>item.Customername</h1>
}
@model IEnumerable
@foreach(模型中的var项目){
项目.客户名称
}
在控制器中,您必须创建一个
IEnumerable
集合,然后将其传递给视图。由于控制器只是一个C#类,因此创建集合的过程与您在以前的.NET工作中了解的过程相同

在MVC中,您必须认识到的唯一一件新事情是视图是哑的。它不做任何代码处理,只需将控制器提供的信息转换为视图中定义的格式


这有意义吗?

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


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

从上面的答复中,听起来您希望使用ModelMetadata来显示未知模型类型的数据。我开发Dynamic MVC就是为了这样做。如果这有帮助,请告诉我


我知道这一点,但我有很多类似于order的表,所以在控件中我喜欢枚举order的列,我不知道列名,我喜欢这个我知道这个,但我有很多类似于order的表,所以在控件中我喜欢枚举order的列,我不知道列名,我喜欢控件中的函数:public string getJsonData(