近期一个项目采用asp.net mvc框架来开发。
但是遇见到了2个问题。
1.
如果用户添加记录的时候,有可能在文本框输入的值前或尾部包含空格。如果不加处理的话,进入数据库也有空格。下次查找的时候就有可能记录不匹配(如果查找的时候还是不加处理的话,当然如果你愿意一个一个不厌其烦的处理,我也不好说什么)。这就要求我们在客户POST数据的时候把所有的值先Trim()一遍。 找了半天,没有好的办法。 只有在asp.net mvc框架源代码中,把所有的要传入Request.Form对象的地方,改为传入已经被Trim()了的NameValueCollection 对象。
2.
BindModel的时候,如果用户输入的是String.Empty, 框架会自动转为Null,这一点本人很不赞同。我需要的是用户如果没输入任何字符,那就是空字符串,不要自动帮我转为Null. 如果是没有得到这个Name属性,则转为Null.这样才比较符合现实中的要求。通过注释掉DefaultModelBinder.cs里的这段代码即可解决问题。
if (bindingContext.ModelMetadata.ConvertEmptyStringToNull && Object.Equals(value, String.Empty))
{
return null;
}
{
return null;
}
欢迎各位与我交流经验。
浙公网安备 33010602011771号