2013-09-25 52 views
1

在下面的linq查詢中,var query是一個包含兩個模型的對象。我是asp.net MVC4的新手,我怎樣才能在我的對象中使用模型視圖類。 var查詢從控制器傳遞到ViewBag.Message概念進行查看。請幫忙。如何從具有兩個模型的對象中獲取模型值

var query = (from F in dataContext.flightobj 
        join FS in dataContext.flightscheduleobj.Where(FS => FS.FlightScheduleID == selectedID) on F.FlightID equals FS.FlightID 
        select new 
        {        
         F,FS 
        }).ToList(); 

回答

0

你爲什麼不結合你的模型,你不要寫在視點側查詢..

public class UserView 
{ 
public User User{get;set;} 
public List<Messages> Messages{get;set;} 
} 

然後,

return View(new UserView(){ User = user, Messages = message}); 

在視圖:

Model.User; 
Model.Messages; 
0

2解決方案:

  1. 創建強類型的視圖,這樣你可以用存取權限模型模型。或@Model。之後 。你會看到你的屬性

  2. 不強類型,但你不要有來自VS任何intelisence(而不是強類型)

0

您可以創建一個特定的視圖模型,然後通過通過一個強類型視圖(其中intellisense將提供給你),但如果這不是一種選擇,或者你只是不想這樣做,請看一下here以解釋使用動態的做事方式。

我的建議永遠是與視圖模型一起....讓您的生活更輕鬆。 :-)

-1

我發現使用ViewBag傳遞到視圖中的複雜對象非常困難,所以我懷疑你會更好地將var查詢作爲模型傳遞給視圖一個ViewBag對象。

儘管您可以使用來自出現在連接中的任一模型的列,但您幾乎可以肯定無法在視圖中明確使用flightobj或flightscheduleobj。您可能需要編寫一個模型以供在視圖中使用,因爲這樣做可以幫助您清楚哪些數據可用於視圖,並且它將提供一個很好的強類型模型,以便在處理視圖時提供一些智能感知。視圖。

+0

出的好奇心和想要改進我的答案,爲什麼我會被拒絕?有人知道嗎? – jonatwabash

相關問題