[ASP.NET]將物件中字串屬性為null的值轉成string.Empty

[ASP.NET]將物件中字串屬性為null的值轉成string.Empty

使用ASP.NET MVC當由FormCollection Map到Model Class時,有些字串屬性的值會為null,但是想要改成預設都為String.Empty。

所以就寫了一個Extension Method來把物件中字串屬性為null的值轉成string.Empty。程式如下(要using System.Reflection),

public static class ObjectExtension
{
    /// <summary>
    /// 將物件中字串屬性為null的值轉成string.Empty
    /// </summary>
    /// <param name="source"></param>
    public static void Null2Empty(this object source)
    {
        //設定其他欄位為空字串
        foreach (PropertyInfo prop in source.GetType().GetProperties())
        {
            if (prop.PropertyType == typeof(string))
            {
                string propValue = prop.GetValue(source, null) as string;
                if (propValue == null)
                    prop.SetValue(source, string.Empty, null);
            }
        }
    }
}

image

image

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^