项目采用asp.net mvc开发过程中遇到的问题。
2009-12-23 00:59
786 查看
近期一个项目采用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;
}
欢迎各位与我交流经验。
但是遇见到了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;
}
欢迎各位与我交流经验。
相关文章推荐
- ASP.NET MVC 开发中遇到的两个小问题
- [项目过程中所遇到的各种问题记录]图表篇——asp.net上不错的图表选择—FunsionCharts
- ASP.NET开发过程中遇到的问题-控件找不到
- asp.net mvc 2 简简单单做开发 使用DataContext扩展方法Find<TEntity>(TEntity obj) 遇到的问题
- ASP.NET MVC3开发中遇到问题以及解决方法
- EF Database First with ASP.NET MVC: Creating the Web Application and Data Models开发遇到问题的解决办法
- ASP.NET MVC3开发中遇到问题以及解决方法
- ASP.NET MVC 开发中遇到的两个小问题
- [项目过程中所遇到的各种问题记录]图表篇——asp.net上不错的图表选择—FunsionCharts
- [项目过程中所遇到的各种问题记录]工具篇——.NET开发时常用的工具类库
- 【原创】ASP.NET MVC3开发中遇到问题以及解决方法
- asp.net mvc项目中遇到的古怪的问题,(项目中有frame框架)
- ASP.NET MVC 开发中遇到的两个小问题
- [项目过程中所遇到的各种问题记录]工具篇——.NET开发时常用的工具类库
- asp.net网站开发过程中遇到的问题
- ASP.NET MVC 开发中遇到的两个小问题
- 发布ASP.NET MVC 4.0 网站到Web服务器上遇到的若干问题
- asp.net mvc开发项目的部署??
- 实习生报告:MVC+asp.net 前端开发与后台同步的问题
- 项目开发过程中遇到的一些问题和解决办法(逐渐添加)