个人做asp.net时犯过的错或是一点心得什么的(我就经常的更新一下吧)
1、Linq中,.Where(predicate).OrderByDescending(b => b.Id).OrderByDescending(b => b.IsTop).ToList()这里面的OrderBy()一定要小心,是存在先后顺序的,后写的OrderBy()会先生成在sql语句中。如果不注意,会造成顺序的颠倒,从而引出排序的BUG,这种BUG可以用SQL事件探查器查出来。
以上语句生成的SQL是“where xxxxxxxx order by IsTop desc,Id desc”。
2、不要太相信Membership的Profile,它有时不能取出对象,很诡异。建议自己做强类型的身份信息,而不要在web.config中配置那些字段。我至今无法解释,只能说是RP问题。
3、枚举在编码时记得留下扩展的空间,特殊形式的放在前面。例如
Code
这个Other就放在0位,其实目的也很单纯,如果放在最后,万一客户说要加一个,加在Other后面搞的好丑陋啊。
4、关于asp.net3.5 ajax部署时“Error:ASP.NET Ajax 客户端框架未能加载”的错误
原因是部分虚拟主机默认的没有打开.axd文件的解析,造成脚本资源等文件无法生成,类似以下的东东无法工作:
<script src="/WebResource.axd?d=65Ia2ddeYx8IU6vULCb8TQ2&t=633435259615117500" type="text/javascript"></script>
解决方法:
在IIS中增加对.axd文件的解析处理,注意要取消“确认文件是否存在”。