国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

解決asp.net mvc UpdateModel更新對(duì)象后出現(xiàn)null問(wèn)題的方法

2024-07-10 13:29:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了解決asp.net mvc UpdateModel 更新對(duì)象后出現(xiàn)null問(wèn)題的方法,需要的朋友可以參考下

在用asp.net mvc 4.0做項(xiàng)目的時(shí)候遇到的這種情況:

情況分析:

“在填寫(xiě)表單的時(shí)候,有一些表單沒(méi)有填寫(xiě),留空,然后直接post 提交表單,action中用UpdateModel 來(lái)更新model,結(jié)果發(fā)現(xiàn)那些沒(méi)有填寫(xiě)的表單字段全部變成null。”

原因分析:

項(xiàng)目中做了判斷null不能提交更新到數(shù)據(jù)庫(kù)中,所以導(dǎo)致一直提交不上去

后來(lái)網(wǎng)上查了一下找到了解決辦法,我在這里分享一下,方便以后遇到這種情況的朋友可以方便解決

解決方法:

新建一個(gè)類(lèi)繼承DefaultModelBinder

 

 
  1. using System.ComponentModel; 
  2. using System.Web.Mvc; 
  3. namespace CustomerWebsite.Mvc 
  4. public sealed class EmptyStringToNullModelBinder : DefaultModelBinder 
  5. protected override void SetProperty(ControllerContext controllerContext, 
  6. ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor, object value) 
  7. if (value == null && propertyDescriptor.PropertyType == typeof(string)) 
  8. value = string.Empty; 
  9.  
  10. base.SetProperty(controllerContext, bindingContext, propertyDescriptor, value); 

然后在Global.asax的Application_Start中替換DefaultModelBinder

 

 
  1. ModelBinders.Binders.DefaultBinder = new EmptyStringToNullModelBinder(); 

這樣問(wèn)題就可以解決了,小編也嘗試進(jìn)行了操作,結(jié)果成功了,希望也能幫助這方面有困擾的童鞋解決實(shí)際問(wèn)題

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 五家渠市| 阿瓦提县| 呼伦贝尔市| 平顶山市| 白沙| 宜章县| 保康县| 南汇区| 武义县| 榆树市| 临泽县| 罗山县| 星座| 兖州市| 武平县| 晴隆县| 响水县| 天等县| 碌曲县| 翁牛特旗| 桃源县| 遂平县| 土默特右旗| 宁明县| 邓州市| 揭阳市| 蒙山县| 合阳县| 中宁县| 墨玉县| 惠来县| 西贡区| 雅安市| 安徽省| 临城县| 秭归县| 建宁县| 谷城县| 徐州市| 苏尼特右旗| 瑞丽市|