zoukankan      html  css  js  c++  java
  • .net mvc接收参数为null的解决方案

    1、通过对象接收请求数据时的null

    必须为对象的属性设置get与set

    private System.String _EMail = System.String.Empty;
            public System.String EMail
            {
                get {return _EMail;}
                set {_EMail = value;}
            }
    

      

    2、通过ajax传递的empty在对象中自动转换为null

    第一个解决方案

    [DisplayFormat(ConvertEmptyStringToNull = false)]
    public string test{get;set;}

    第二个解决方案

    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace AiAn.GPS.Web.Models
    {
    //重写DataAnnotationsModelMetadataProvider方法中的CreateMetadata方法 public class MyDataAnnotationsModelMetadataProvider : DataAnnotationsModelMetadataProvider { protected override ModelMetadata CreateMetadata(IEnumerable<Attribute> attributes, Type containerType, Func<object> modelAccessor, Type modelType, string propertyName) { var md = base.CreateMetadata(attributes, containerType, modelAccessor, modelType, propertyName); DataTypeAttribute dataTypeAttribute = attributes.OfType<DataTypeAttribute>().FirstOrDefault(); DisplayFormatAttribute displayFormatAttribute = attributes.OfType<DisplayFormatAttribute>().FirstOrDefault(); if (displayFormatAttribute == null && dataTypeAttribute != null) { displayFormatAttribute = dataTypeAttribute.DisplayFormat; } if (displayFormatAttribute == null) { md.ConvertEmptyStringToNull = false; } return md; } } }

    //在Global.asax的Application_Start方法中,重新覆盖原有对象
    ModelMetadataProviders.Current = new AiAn.GPS.Web.Models.MyDataAnnotationsModelMetadataProvider();
    

      

  • 相关阅读:
    HTML+JSP的登录界面数据库链接
    链式前向星模板
    【洛谷【模板】最小生成树】
    【洛谷P1090 合并果子】
    Dijkstra【迪杰斯特拉算法】
    Bellman-Ford&&SPFA
    【一本通1248:Dungeon Master&&洛谷UVA532 Dungeon Master】
    【一本通1329:【例8.2】细胞&&洛谷P1451 求细胞数量】
    Floyed-Warshall【弗洛伊德算法】
    广搜
  • 原文地址:https://www.cnblogs.com/zhoushangwu/p/9641491.html
Copyright © 2011-2022 走看看