2011-08-26 44 views
1

我使用northwind示例從我的sql 2008服務器數據庫創建模型。 Model.Order,我要動態地使用該命令行,就像datatable在ASP.net MVC中,如何使用動態模型?

DataTable a = New DataTable() . 

.......填寫訂單數據表。而然後我可以使用

a[1]a["orderid"]以獲取數據。 但在mvc 我只能使用Model.Order a = new Model.Order() ...用數據填充a。 使用a.OrderID獲取數據

有沒有辦法用計數的foreach像

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

你能解釋一下嗎? –

回答

0

一般來說,你想給你的視圖中的IEnumerable<T>。因此,例如,你做這樣的事情:

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

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

在你的控制器,你必須創建一個IEnumerable<Order>集合,然後把它傳遞的看法。由於控制器只是一個C#類,因此創建集合將與您在以前的.NET工作中知道的過程相同。

你必須在MVC中實現的唯一新事物是視圖是愚蠢的。它不執行任何代碼處理,只是將您從控制器提供的信息打包成您在視圖中定義的格式。

這是否有意義?

+0

我知道這個,但是我有很多像表一樣的順序,所以在控件中我想列舉順序的列,我不知道列名,我喜歡這個 – openkava

+0

我知道這個,但是我有很多表,所以在控制我喜歡枚舉訂單的列,我不知道列的名稱,我喜歡這個在控制功能:public string getJsonData orders){foreach(訂單中的var項){StrinbBUilder sb = new StringBuilder;對於(int i = 0; i openkava

0

從上面的回覆中,您聽起來像要使用ModelMetadata來顯示未知模型類型的數據。我開發了Dynamic MVC來做這樣的事情。讓我知道這是否有幫助。

http://dynamicmvc.com