2014-10-18 89 views
2

有沒有辦法將完整模型渲染爲隱藏字段?ASP.NET MVC將模型渲染爲隱藏字段

喜歡的東西:

@Html.HiddenFor(m => m) 

還是我來呈現我的HiddenFor模型的每一個屬性?

編輯:

這是一個複雜的嚮導(5-10步驟)。在最後一步,我想將數據存儲在數據庫中。也許我可以將模型作爲JSON序列化爲隱藏字段。然後我也可以通過JS訪問它。

+1

會有什麼意義? – 2014-10-18 12:01:14

+0

您可以創建一個T類屬性模型,然後使用EditorFor或DisplayFor模板並使用反射遍歷模型的屬性並將其呈現爲隱藏字段。像這樣的東西會奏效。不過,我同意 - 重點是什麼? – 2014-10-18 12:02:28

+0

@StephenMuecke我認爲重點是能夠在例如表單驗證失敗並顯示模型錯誤時重新呈現不可編輯的模型屬性。 – 2014-10-18 12:07:05

回答

2

那麼你可以將對象序列化爲某種格式的字符串,如XML或Base64,並將其放入隱藏字段中,但基本上這只是老派的ASP.NET ViewState

如果您只編輯大型對象中的幾個字段,通常最好在頁面上(隱藏字段或URL)擁有該ID,然後再次從數據庫/會話/重新構建它當他們提交表格時。

+0

這是一個複雜的嚮導(5-10步)。在最後一步,我想將它存儲在數據庫中。也許我可以將模型序列化爲JSON到隱藏字段。然後我也可以通過JS訪問它。 – LuckyStrike 2014-10-18 12:21:27