我有我的投資組合的控制器,我使用的視圖模型稱爲DisplayItem。模型的功能不相關,但模型表示關於我的投資組合的部分數據。ASP MVC - 傳遞模型數據或從數據庫檢索
在該控制器的索引頁面,通過從數據庫中提取所需信息,然後將集合(列表<>)發送到視圖,構建前5個投資組合DisplayItems。該視圖在具有按鈕的列中顯示預覽,以便爲顯示的每個項目「查看項目」。單擊這些按鈕將轉到PortfolioController操作「顯示」。
我的問題是關於發送適當的數據到視圖的「顯示」兩種方法的效率。我當然可以發送所選DisplayItem的ID,並將其從數據庫中拉出以重建模型並將其發送到視圖。我最初的想法是,這對於數據庫來說是不必要的工作,因爲我之前已經提取了所需的信息。儘管使用ID方法可以讓我在必要的時候不會提取其餘的信息。
我的另一個想法是序列化模型(它包含無法使用POST發送的集合),然後發佈我需要的字符串作爲操作,然後序列化爲一個對象。
我的經驗總的來說不是網絡,它是遊戲編程,所以我在某種程度上超出了我的元素,並且會喜歡關於選擇哪條路線的建議,或者如果有更好的方法可以做這個。
假設ID是你的表的PK,從數據庫中獲取對象將是盲目快速的,你應該這樣做。將模型序列化到視圖並通過網絡再次發回它相當於試圖模仿webforms中的'ViewState' –
當然,我顯然不知道你的應用程序的細節,但一般沒有理由,爲什麼收藏不能被張貼;它只需要更多的工作。你的領域將有ID像CollectionProperty [0]。也就是說,你應該使用這個ID並像其他人說的那樣查詢數據庫。 – Jaquez