2011-11-06 53 views
4

我有一個ASP.NET MVC視圖,僅用於測試和診斷目的。一段時間後,我將一個完全不同的對象(模型)傳遞給它,並呈現其屬性以查看對象的狀態。但是,這需要爲每個對象修改視圖。在ASP.NET MVC視圖中轉儲對象 - 對象傾銷視圖

如何創建對象傾卸器視圖?通過對象傾銷者的觀點,我的意思是不需要以任何方式改變其相關模型的觀點。例如,在傳遞一個user對象或一個product對象或其他任何東西時,該視圖保持不變,同時仍然正常工作。

return View(user); 
return View(product); 
return View(googleAnalyticsFeed); 

回答

-2

由於這是您的測試,View將建議使用ViewBag,它使用C#4.0動態功能。 返回視圖();將模式保存到Viewbag中並使用viewbag在View上渲染數據。

編輯 Assuming View is just a Index view then we can easily run for each loop loop by casting ViewBag as IQuerable

+0

我仍然需要改變每個新模型的視圖。我只是希望視圖能夠動態地遍歷屬性並理解​​嵌套(複雜對象)等等。那麼,我該怎麼做呢? –

+0

@Saeed Neamati查看我的編輯或者請在這裏發表您的查看代碼 – swapneel

+0

這個答案沒有多大意義。使用ViewBag是完全沒有必要的。只需使用動態模型類型即可。使用ViewBag並不奇怪地讓你使用IQueryable和沒有實現它的View類。 -1 –

11

使用ObjectInfo幫助程序顯示傳遞給它的每個對象的類型和值。您可以使用它來查看代碼中變量和對象的值,並且可以查看有關該對象的數據類型信息。

@ObjectInfo.Print(Model) 
+0

我做了很多映射數據到(複雜的)模型,這可能是我多年來發現的最有用的開發技巧,我每天都在使用它 - 這對於在任何視圖中快速檢查模型數據非常有用。乾杯。 – Paul

+0

@保羅很高興幫助你! – shebert

+0

非常感謝! – Nezir