在ASP.net MVC中,如何使用动态模型

本文关键字:何使用 动态 模型 ASP net MVC | 更新日期: 2023-09-27 18:06:49

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

DataTable a = New DataTable() .

……然后我可以使用

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 ??
    } 

在ASP.net MVC中,如何使用动态模型

一般来说,你想给你的视图一个IEnumerable<T>。例如,你可以这样做:

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

在你的控制器中,你必须创建一个IEnumerable<Order>集合,然后沿着视图传递它。由于控制器只是一个c#类,因此创建集合的过程将与您在之前的。net工作中所了解的过程相同。

在MVC中,你必须认识到的唯一新事物是视图是愚蠢的。它不做任何代码处理,只是把你从控制器给它的信息转换成你在视图中定义的格式。

这有意义吗?

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

枚举c#中对象的属性(字符串)

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

从上面的回复来看,您似乎想使用ModelMetadata来显示未知模型类型的数据。我开发了动态MVC来做这样的事情。如果有帮助,请告诉我。

http://dynamicmvc.com