2009-11-17 39 views
1

我有時會在UpdateModel函數中發生錯誤。 但是,我似乎無法找到確切的消息是哪個字段導致問題。 例如這一個: 「類型'Enquete'的模型未成功更新。」asp.net mvc:關於UpdateModel異常的更多信息

它有一個NULL的內隱感,並沒有進一步的描述。有沒有辦法找出造成問題的原因?

米歇爾

編輯: 我看到這在我的輸出窗口: 「‘System.InvalidOperationException’類型的第一次機會異常出現在System.Web.Mvc.dll程序」

回答

1

只是胡亂猜測:您正在試圖綁定null爲值類型。檢查您的型號是否有int,float,DateTime,structs,...您嘗試綁定到null的數據類型。

+0

我會研究一下,InvalidOperationException確實給了我一個提示,你對。所以當我想要絕對確定沒有錯誤時,我必須創建一個非常「寬鬆」或「寬容」的模型,在其中放置任何數據,然後驗證該模型,然後將其放入我的業務模型中。因爲當用戶爲非空的int輸入空值時,會引發UpdateModel()的異常。這給我留下了一個惱人的從視圖模型到商業模型的更新...... – Michel 2009-11-17 11:04:08

2

史蒂夫·桑德森有關於使用MVC源碼來幫助您調試應用程序的wonderful article

我認爲這會幫助您獲得更多信息。

善良,

+0

確實有效,但調試mvc源碼不是一件容易的事情(好吧,調試是,但理解它是另一回事) – Michel 2009-11-17 10:42:49

0

我得到這種類型的異常,並從我的經驗,我得到了什麼導致它... 我們有一個主鍵字段或實體中的身份字段... 如果我們試圖顯示該字段在查看使用html控件如文本框,然後在那個時候updateModel拋出異常 否則它不會拋出異常

0

改爲使用TryUpdateModel。它不會拋出異常,但是您可以檢查ModelState是否有錯誤。 我知道這是遲到,但幫助別人。