我遇到了同樣的情況,在這些信息豐富的文章的幫助下,我的部分代碼更改為在由分部視圖生成的輸入元素中具有前綴。
我使用了Html.PartialHelper,為Html.分部構造函數(shù)提供了ModelType的部分視圖名稱和對象,以及一個帶有HTML字段前綴的ViewDataDictionary對象的實例。
這將導致GET對“主視圖”的“xyz url”的請求,并在其中使用前綴生成的輸入元素呈現(xiàn)部分視圖,例如,前面的name=“title”現(xiàn)在相應的HTML元素中變?yōu)閚ame=“MySubTypet.itle”,對于表單輸入元素的其余部分也是相同的。
當向“xyz url”發(fā)出POST請求時出現(xiàn)了問題,希望將填寫的表單保存到我的數(shù)據(jù)庫中。但是MVC模型綁定器并沒有將我發(fā)布的模型數(shù)據(jù)綁定到表單值中,而且ModelState也丟失了。視圖數(shù)據(jù)中的模型也將變?yōu)榭铡?/trans>
最后,我嘗試使用TryUppdateModel方法更新發(fā)布形式的模型數(shù)據(jù),該方法采用模型實例和先前傳遞給部分視圖的html前綴,現(xiàn)在可以看到模型與值綁定,模型狀態(tài)也存在。
請讓我知道這個方法是好的還是有點多樣化的!