2012-09-06 40 views
4

這怎麼可能? Controller View ViewCode在控制器和視圖之間進行修改的實體

兩天撞頭的。如果任何人有一個理智的解釋,那會很好。

需要注意的是,如果我刪除了EditorFor(o => o.DocumentParentID),該值更改爲0的[HttpPost],所以他們DB

注意的其他記錄相匹配,這些都在數據庫 相關記錄收到時enter image description here

+1

有什麼問題嗎? –

+0

控制器中ID的值爲8,但在視圖中爲6。沒有做任何修改,視圖就像在瀏覽器中顯示的那樣 – Mathieu

+1

將視圖中編輯器中的6更改爲15時會發生什麼?您實體上的哪個屬性發生了更改? –

回答

7

對於ID屬性,您的值爲6,因爲它與路徑中的Id參數相匹配。它似乎默認模型聯編程序也正在尋找您的網址中的這些屬性。

在StatusClient類中更改您的操作方法的參數名稱或ID屬性的名稱,它應該可以正常工作。

此外,如果你沒有在你的視圖中添加EditorFor(o => o.DocumentParentID),DocumentParentID將不被髮回到你的操作方法,你會得到默認值0

+2

男人,這是輝煌的猜測;) –

+0

就是這樣!你是一個天才=) – Mathieu

0

我不太清楚你的要求是什麼,但我認爲這是爲什麼)當EditorFor不在頁面上時,默認爲int DocumentParentID?

模型綁定器將綁定對象類型的默認值,所以如果您已將DocumentParentID定義爲Int32,則模型綁定器將在帖子上綁定爲0。如果DocumentParentID被定義爲Int32 ?,那麼模型綁定器將在帖子上綁定爲null。

相關問題