在我的視圖中,我想使用行和列之類的方法遍歷DataTable,以便動態地填充HTML表。爲此,我強烈地將我的Razor視圖鍵入System.Data.DataTable。在MVC視圖中解決強類型邏輯衝突
@model System.Data.DataTable
但爲了處理數據 - 這我從SQL Server使用ADO.NET直拉 - 我建立了一個實際的模型類,它返回非常DataTable的,我想通過循環在視圖上。
namespace MyProject.Models
{
public Class DimensionY
{
public DataTable getDimMembers(string tableName)
{
//GET DATA FROM SQL AND PUT IT ONTO someDataTable
return someDataTable;
}
}
}
然後我的HomeController調用上面顯示該DimensionY模型類,然後通過一個DataTable對象的視圖:
public ActionResult Index (string tableName)
{
DimensionY newMemSet = new DimensionY();
newMemSet.getDimMembers(tableName);
return View(newMemSet);
}
所以,如果我強鍵入查看到我自己的模型,我似乎鬆散System.Data.DataTable給我的行和列方法。但是,如果我強鍵入查看實際型號,編譯器告訴我:
傳遞到字典的模型項的類型爲「MyProject.Models.DimensionY」,但這個字典需要的模型項目鍵入'System.Data.DataTable'。
我怎樣才能強制類型視圖到我自己的模型和相同的類型使用DataTable類型的方法?