表示层中,对于Model可空属性的赋值逻辑

  通常,数据库字段为可空时,储存数据的Model对应属性就设置为可空类型,表示层界面取值时,如果用户输入为空则赋空值,否则就赋实际值(暂不考虑值类型的合法问题).

此时用一个?三元运算符,代码可以相对简洁一些.

            person.Gender = txtGender.Text.Trim() == string.Empty ? null : (bool?)Convert.ToBoolean(txtGender.Text.Trim());
            person.Height = txtHeight.Text.Trim() == string.Empty ? null : (int?)Convert.ToInt32(txtHeight.Text.Trim());

  值的合法性问题,如果要放在BLL层或Model里的话,可以搞个LIST泛型,控制台就提示用户上下限,Form的话,就把这个LIST绑定到一个combo上,前台根据实际情况来使用此LIST,并且可以据此限定格式,此时也就不用考虑什么空值问题了.

你可能感兴趣的:(Model)