2010-09-13 42 views
1

這個問題不是關於代碼,至少不是關於給出錯誤的代碼。我正在問這個問題,以瞭解在ASP.NET MVC2中實現模式的正確方法。在ASP.NET MVC中控制器之間分開動作的正確方法2

假設我有一個包含EmailAddress對象集合的Contact對象。在我的ContactController中,我定期執行從底層商店創建/編輯/刪除聯繫人的操作。在我的索引視圖(呈現所有聯繫人)內,當列表中選擇聯繫人時,我有一個鏈接,指出「添加電子郵件」。

現在我至少有兩個方法可以實現此操作:

  1. 內ContactController中添加AddEmailAddress的行動,預先填充與使用ContactID屬性EmailAddress的模型對象和渲染視圖
  2. 作爲第1步,而不是渲染視圖代理這個工作到一個EmailAddressController類

這是正確的方式來處理這樣的模式?

在此先感謝!

回答

1

我更喜歡#1。除非需要在聯繫人的環境外單獨處理電子郵件,否則我認爲這是一條路。

但是,如果您打算使用列表電子郵件,刪除電子郵件,創建電子郵件,編輯電子郵件等屏幕,那麼擁有自己的控制器會更有意義。在這種情況下,我會讓超鏈接瀏覽到電子郵件控制器,並使用聯繫人ID作爲URL中的參數創建操作。

+0

你是對的。我有要求支持電子郵件處理,所以我沒有選擇第二種方式。感謝您的意見! – Lorenzo 2010-09-14 21:45:40