2009-09-23 75 views
1

在我的控制器中,我檢查查詢字符串中的articleID,如果它存在,我將呈現編輯視圖頁面,否則我將呈現添加視圖頁面。結合編輯和添加查看頁面到一個動作

現在在我的編輯頁面中,有時候ViewData中的某些類可能爲空。

把我想在編輯頁面預先填充文本框。

如何預先填充文本到字段中,但同時又能安全防範空對象/屬性?

+1

我認爲這個問題的標題應該說「加」而不是「年齡」? – Funka 2009-09-23 21:55:20

回答

1

類型安全選項是定義兩個ViewModels而不是一個。一個用於添加頁面,另一個用於編輯頁面。如果他們有很多通用數據保證不會爲空,那麼可以在一個公共基類上實現這些屬性,但這不是必需的。

當您決定顯示添加視圖時,您將返回具有適當視圖模型的ViewResult。

當您決定顯示編輯視圖時,您返回一個ViewResult ViewModel。

然後,每個View都可以是基於該ViewModel類型的強類型視圖。

other SO answer闡述了一點這種方法。

+0

這種方法的問題,如果我有3個查看頁面,我必須保持所有3個!即添加一個文本框到一個,意味着3個更改擔心等 – mrblah 2009-09-23 17:39:10

+0

正如我在其他答案中寫道的,您可以使用共享的View(.ascx)作爲常用數據,這樣您只需要將它保存在一個地方。 – 2009-09-23 18:01:46

相關問題