2008-12-30 67 views
0

我應該在ASP.NET MVC中使用相同的控制器和視圖來編輯和創建模型,還是應該創建視圖和控制器操作以創建視圖和控制器操作以進行編輯?我應該在ASP.NET MVC中使用相同的控制器和視圖來編輯和創建模型嗎?

編輯觀點肯定是可能是不同的 - 它並不總是有意義的用戶界面編輯對象是一樣的創作來看,

通過分離,我會避免很多的意見「if語句」來確定我是否正在編輯或創建...

想法?

回答

2

我所看到的建議是暗示視圖與控件中包含的常見元素分離以保持乾燥。

對控制器採用相同的方法似乎是合乎邏輯的 - 在適當的地方重新使用公共部分。

此視圖在這裏鏡像How to cleanly reuse edit/new views in Asp.NET MVC,因爲問題非常相似。

0

AFAIK此建議:(例如,在使用人)

使用一個控制器來處理這兩種情況下

在這種控制器,有四個動作:

  • 新()
  • 編輯(int personId)
  • 創建(人員p)
  • 更新(人員p)

兩種觀點,人/ New.aspx和人/ Edit.aspx

這兩種觀點都包含了形式職位,以各自的行動:

  • 新建 - >創建
  • 編輯 - >更新

現在你有兩種選擇,可以兩次實現窗體內容(在每個視圖中)或實現實際的m在PersonForm.ascx中並使用部分渲染來渲染表單內容。

你選擇走在最後一步的方式取決於表單是差不多是相同的(去一個共同的控制),或者如果他們是不同的(實現兩個不同的)

如果只是新/編輯表單中佈局不同的問題,您可能只想引用不同的css文件,並讓css處理差異