@Html.HiddenFor(model => model.JobIndicator)
提交頁面後,JobIndicator的值不會刷新。在HTML表單發回後,隱藏字段不會更新
我可以在顯示字段中看到更新的值。
@Html.HiddenFor(model => model.JobIndicator)
提交頁面後,JobIndicator的值不會刷新。在HTML表單發回後,隱藏字段不會更新
我可以在顯示字段中看到更新的值。
在你的控制器將這個:
ModelState.Remove("JobIndicator");
那麼你的隱藏字段將被更新。
只要確保把該行的窗體標記內
@Html.HiddenFor(model => model.JobIndicator)
的問題是HTML輔助從ModelState
從模型中獲取數據,而不是傳遞當你調用後行動。要解決這個問題,您可以在返回視圖之前調用ModelState.Clear()
,這樣在重新生成視圖後,ModelState
中的信息將被清除並重新填充。
您可以找到有關這個問題(和其他解決方案)在此blog
跑這個問題我的詳細信息。一個解決方案(雖然不夠高雅)是爲了使用基本的HTML語法並使用模型的值。
<input type="hidden" name="JobIndicator" value="@Model.JobIndicator">
我喜歡這個答案,但我討厭這種行爲;不是很直觀。它似乎很少出現,因爲我在POST POST之前更改了字段值客戶端,或者我正在創建一個新模型,但是如果設置了值,我希望它被設置。 – LoveMeSomeCode 2016-03-10 21:18:27
它幫助我通過使用代替@ Html.HiddenFor(m => m.Name ) – ravithejag 2016-05-19 09:40:01
爲什麼有人可以解釋這一點。 – maxspan 2016-08-04 21:53:22