2008-12-18 31 views
1

採取以下假設情況,我將如何在MVC中實現它?如何將此webforms範例轉換爲mvc?

我所有的頁面都坐在一個Master中,它有一個CurrentUser屬性。該對象由某個會話用戶標識確定,然後在每個頁面加載時從db中查詢。然後在整個站點中使用該對象,例如在頂部顯示「Welcome _____」,並在各種頁面代碼隱藏中用作數據庫查詢的一部分等。一個頁面上有幾個用戶控件,每個用戶控件顯示不同的信息,查詢在第一次加載。當一個控件回傳並以某種方式改變它的顯示時,頁面的其餘部分保持不變,而不需要重新填充。

我得到了mvc的基礎知識,但是我很努力去理解如何將它帶入下一個(真實世界)內容豐富的視圖。你如何將公共對象暴露給視圖?控制器是否必須將視圖中可能需要的每一點數據粘貼到ViewData中?

任何人都可以推薦一個關於更高級的mvc用法的好教程,這將幫助我理解如何擺脫webforms嗎?

回答

2

我更喜歡將我的視圖所需的所有數據放入ViewData中。我大部分時間嘗試使用強類型模型,並且在將我的應用程序中使用的通用屬性添加到常見的BaseViewData類方面取得了一些成功。

對於像用戶信息這樣的常見屬性,我讓BaseViewData類負責填充或提供這些屬性值,以便每個控制器不必擔心上下文信息不一定是特定操作的關注點。

我很想看看其他人是如何解決這個問題的。