2013-10-08 54 views
0

我使用MVC3,C#,剃刀,EF4.1。試圖在MVC應用程序,View和可能的Controller中創建可重用的「小部件/窗體」?

我正在探索在許多視圖中創建可重用表單的最佳方法。其功能將包含Form位(View)和數據庫保存位(Controller)。

我現在的想法是:

Use a Partial View that can be used by many views to contain the reusable form. 

然後

Use an extra Action("Add Item") in the Controller for the master View which calls a method off a reusable class ie GenericDataItem.Save(strData); 

另一個想法我是有一個通用的控制器相匹配的局部視圖。因此,局部視圖中的表單只調用通用控制器,然後必須通過RedirectToAction或同等方式將控制權交還給主控制器。顯然,後一種方法意味着「Widget」控制器代碼只寫入一次。

在這個重要的問題上,您的智慧和建議值得讚賞。一個好的策略顯然可以幫助大大簡化MVC構建方法。

非常感謝提前。

回答

0

這兩種方法都有好處。我將以一個我曾經參與過的項目爲例(我在項目中加入了後者,並且沒有參與建模):

在此項目中,用戶可以在不同組中分配相同的時間和他在網站每個部分的首頁都是不同的,隨着他在每個組中的授權而變化。在這種(非常特殊的)情況下,我們首先使用了您建議的方法,因爲用戶在訪問X部分的頁面時不能訪問PartialViewA,但可以授權訪問PartialViewA當處理A部分的頁面。

但是,這是一個非常特殊的情況,我敢肯定這不是你的情況。我只是決定在這裏寫下來,以表明每種情況都會有用的情況。

您的第二種方法是我建議的方法,因爲如您所說,這種方法意味着「Widget」控制器代碼只寫入一次。我在此時正在使用的項目中使用它。

相關問題