В ASP.net MVC, как использовать динамическую модель? - PullRequest
1 голос
/ 26 августа 2011

Я создаю модель из базы данных сервера sql 2008, используя пример northwind.Model.Order, я хочу динамически использовать строки Order, точно так же как datatable

DataTable a = New DataTable() .

....... заполнить данные заказа в таблицу a. И тогда я смогу использовать

a[1] или a["orderid"] для получения данных.но в mvc Ican просто используйте Model.Order a = new Model.Order() ... заполните a данными.используйте a.OrderID, чтобы получить данные

Есть ли способ получить его с числом, например

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

Ответы [ 3 ]

0 голосов
/ 27 августа 2011

Этот ответ должен ответить на ваш вопрос

Перечисление через свойства объекта (строку) в C #

с Model.GetProperties () в получить список всехсвойства.Затем с помощью foreach вы получаете их имена и значения.Надеюсь, это поможет

0 голосов
/ 10 сентября 2014

Из ваших ответов выше кажется, что вы хотите использовать ModelMetadata для отображения данных для неизвестного типа модели. Я разработал Dynamic MVC, чтобы сделать что-то вроде этого. Дайте мне знать, если это поможет.

http://dynamicmvc.com

0 голосов
/ 26 августа 2011

Вообще говоря, вы хотите дать вашему View IEnumerable<T>. Так, например, вы делаете что-то вроде:

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

@foreach (var item in Model) {
    <h1>item.Customername</h1>
}

В вашем контроллере вы должны создать коллекцию IEnumerable<Order> и затем передать ее вдоль представления. Поскольку контроллер - это просто класс C #, создание коллекции будет таким же процессом, который вы узнали во время предыдущей работы .NET.

Единственная новая вещь, которую вы должны осознать в MVC - это то, что вид тупой. Он не выполняет никакой обработки кода, он просто сжимает информацию, которую вы дали от контроллера, в формат, определенный вами в представлении.

Имеет ли это смысл?

...