您好,登錄后才能下訂單哦!
本篇內容介紹了“如何解決asp.net mvc UpdateModel更新對象后出現null的問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在用asp.net mvc 4.0做項目的時候遇到的這種情況:
情況分析:
“在填寫表單的時候,有一些表單沒有填寫,留空,然后直接post 提交表單,action中用UpdateModel 來更新model,結果發現那些沒有填寫的表單字段全部變成null。”
原因分析:
項目中做了判斷null不能提交更新到數據庫中,所以導致一直提交不上去
后來網上查了一下找到了解決辦法,我在這里分享一下,方便以后遇到這種情況的朋友可以方便解決
解決方法:
新建一個類繼承DefaultModelBinder
using System.ComponentModel; using System.Web.Mvc; namespace CustomerWebsite.Mvc { public sealed class EmptyStringToNullModelBinder : DefaultModelBinder { protected override void SetProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor, object value) { if (value == null && propertyDescriptor.PropertyType == typeof(string)) { value = string.Empty; } base.SetProperty(controllerContext, bindingContext, propertyDescriptor, value); } } }
然后在Global.asax的Application_Start中替換DefaultModelBinder
ModelBinders.Binders.DefaultBinder = new EmptyStringToNullModelBinder();
“如何解決asp.net mvc UpdateModel更新對象后出現null的問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。