2012-01-26 164 views
2

我有一個視圖呈現模型,其中模型被更改併發布到一個動作。 模型的某些屬性保持不變,只需傳遞到視圖即可。例如,模型具有性能顏色和名稱保留模型屬性

**View:** 
Model.Name - used for for something. 
Model.Color - not used, just needs to be preserved and passed on to action. 

[HttpPost] 
**Action:** 
String Name = Model.Name 
String Color = Model.Color 

我用一個隱藏字段是什麼?

+0

您可以通過ViewData將此數據傳遞給視圖或使用強類型視圖。 –

+0

@Bernie White,它已經是一個強類型的視圖。我怎麼能通過查看數據從視圖到行動?唯一的選擇是發佈該字段或通過操作中的表單值。 – mishap

回答

1

是的,但是隻有當Color可以在不同的要求不同,你需要該職位後value

另一種方法是將其存儲在Session中。

更安全的方法是將其存儲在會話中,因爲即使隱藏字段可以被操縱

隱藏

@Html.HiddenFor(x => x.Color) 

會議

Session["YourKey"] = Color; 
0

我解決這個問題使用Vie wModel的建設者,我寫了a blog。正如@dknaack所說,請求中的任何內容都可以被用戶操縱,所以爲了確保我的不可編輯模型屬性保留正確的值,我創建了構建器類,它只是使用適當的值覆蓋不可編輯的值數據庫。在我看來,這比使用隱藏字段更清潔和更安全。