一個編輯頁面的post controller函數如下
public ActionResult Edit(int id, FormCollection collection)??????? {??????????? Asset a = db.Asset.Find(id);??????????? TryUpdateModel(a, "",null, new string[] { "CompanyId" });
? ? ? ? ? ?? if (ModelState.IsValid)??????????? {
。。。 這段代碼對asset對象進行賦值,接下來如果成功則保存。我在開發機器上運行正常,但在部署服務器上,isValid總是false,調測發現,collection在部署服務器上 key里面有一個 “” 空字符串,這樣在tryupdatemodel里面就報錯了。
可是用fiddler察看post數據,里面都是標準的 xxx=yyy&....,不明白為什么會冒出這個空字符串的key來。
開發環境和部署環境的區別在于,開發是WIN7而部署的服務器是WIN2003
ASP.NET MVC TryUpdateModel 時的一個怪現象,求圍觀,求解釋
慕碼人2483693
2018-12-06 19:59:29