2010-06-16 58 views
0

我有一個先前從服務器往返於客戶端並很好地返回(即編輯和查看錶單工作正常)的對象。但是,我已經爲該對象添加了一個複雜類型,並且創建了一個自定義ModelBinder來處理它。複雜類型可以表示爲單個字符串,但作爲十進制存儲在對象中(認爲「0英尺3英寸」可以存儲爲0.25)。MVC 2,自定義ModelBinder,並存儲視圖的「嘗試值」

但是,我的問題是驗證失敗時。如果用戶鍵入「asdf」,則驗證失敗。但是,存儲在Decimal中的值只是0.因此,當視圖呈現併發送給用戶時,他們只會看到「0」和錯誤消息,而不會看到「asdf」。我沒有默認ModelBinder的問題(其他字段往返無效字符串就好了),所以我必須在我的自定義ModelBinder中丟失一些東西......但它是什麼?

我已經打過電話

bindingContext.ModelState.SetModelValue(bindingContext.ModelName, New ValueProviderResult(null, attemptedValue, Globalization.CultureInfo.CurrentCulture)) 

但它似乎並沒有造成任何影響。

回答