2010-04-29 26 views
2

我有一個編輯視圖顯示一些模型屬性作爲純文本和其他模型屬性作爲輸入字段。我的問題是,當模型在驗證錯誤後返回到視圖時,以純文本顯示的模型屬性爲null。ASP.Net MVC 2:如何保留文章之間的模型值

當我沒有所有屬性的輸入字段時,如何保留模型值?什麼是最佳做法?

我的第一個想法是將這些屬性的值保留在隱藏的輸入元素中。

<%= Html.HiddenFor(model => model.CustomerName) %> 

這是否被認爲是正確的解決方案?

感謝 安德烈亞斯

回答

5

您可以:

  1. 使用隱藏域,你的建議,或
  2. 重新填充在POST行動返回視圖之前「丟失」的領域。

選擇適合您的應用程序。

+1

我想補充一點,來自web表單背景的心態是嘗試並保留字段,但如果您坐下來並真正考慮它,那麼重新填充的開銷並不是大多數應用程序的交易斷路器,並且使得維護更容易。 – Paddy 2010-04-29 13:27:41

+0

帕迪,你是對的。重新填充是一個更清潔的解決方案,在我的情況下,性能不是問題。我會爲此而努力。謝謝! – Andreas 2010-04-29 14:40:28

+0

另一種選擇是傳回與表單發佈的相同模型,這樣您可以像用戶鍵入它們一樣保留值。 – JoseMarmolejos 2010-04-29 22:37:29

相關問題