的這個問題我已經記錄here和here和here和especially here其中,在ASP.NET MVC4認爲,HTML輔助功能@Html.HiddenFor(m => m.ID)
將使用「錯誤」的數據,並會導致數據損壞。防止使用MVC的HiddenFor功能
這是一個巨大的問題,接受的「解決方案」是簡單地意識到這一點,並圍繞它設計。我認爲這是一個糟糕的解決方案。 (順便說一句,我們使用這樣的代替:<input type="hidden" value="@Model.ID" />
)
每隔幾個月,我或一位同事忘記和使用該html幫手,並且在我們再次追查問題之前,所有地獄崩潰。
如何消除此功能的使用,避免將來出現錯誤?
- 這不是我們的代碼,所以我們不能[Obsolete]
標記它 - 我們可以覆蓋HtmlHelper
,但是這是一個大量的工作只是爲了消除一個功能
- 我可以寫一個單元測試來挑選出這些代碼從看法?(如果檢測到該呼叫,則失敗測試)
- 其他想法?
你想要一個代碼分析工具如FxCop的,並提出將運行作爲構建過程的一部分的規則。我懷疑有沒有辦法在編譯中做到這一點,如屬性。 –