1. form嵌套问题.html代码中是不允许form之间嵌套的.如下
<form id=”form1”>
<from id=”form2”></form>
</form>
所以,有些时候我们要把form写在要提交内容的附近,而不是最简单的写在body的下面.例如:
<form id=”form1”>
<input type=”text” />
</form>
2. Javascript报错位置不准确.很讨厌的,既然提供了报错,给的却是正确代码的位置.有时让人很是挠头.不过听说微软要出了新的vs.net对js的支持超强.
3. 对返回的数据,如果需要进行类型转换的,最好先判断一下数据是否为null.否则很大机会是出错.例如经常使用的ToString()方法.
4. 最好去掉每个aspx页中的.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
它会完全检查当前页面的html代码的合法性.太严格没必要,而且会造成开发中不必要的工作量.
5. checkbox控件数组选择问题.
a) 声明:
<input id="Checkbox2" name="mass[]" type="checkbox" value="" />
b) Js代码如下:
var id ;
var checkBoxes = document.getElementsByName("mass[]");
var count = 0;
for(var i=0; i<checkBoxes.length; i++){
if(checkBoxes[i].checked){
count++;
}
}
if(count > 1){
alert("只能选择一项记录进行编辑!");
return false;
}
if(count == 0){
alert("请先选择要进行编辑的记录前的复选框!");
return false;
}
for(var i=0; i<checkBoxes.length; i++){
if(checkBoxes[i].checked){
//alert(checkBoxes[i]);
id = checkBoxes[i].value;
}
}
6. 代码拷贝问题.主要是我们自己代码间拷贝时,留心多注意一下,我的很多问题就是拷贝后不仔细修改造成的.
7. 找不到自定义控件.主要是路径问题.另外我再建议仔细看下定义的名称的大小写是否正确.C#是区分大小写的.
8. FileUpload控件上传文件限制,到现在我还没用找到一个完全行之有效的办法解决.你可以改变上传文件大小的限制,可是,一旦超出限制,这个错误是服务器端无法捕获的.因为这是个客户端错误.
9. 跨网页传值或给<iframe>传值时经常会出现丢字现象.这时可以使用HttpUtility.UrlEncode()和HttpUtility.Dencode()来编码和解析url链接参数.
10. 为了便于用户使用,请注明哪些文本框必填和内容要求,例如:FileUpload,是否必填,允许上传文件格式,文件大小限制等
11. 导致死锁的一种情况:在判断Read()方法的判断过程中使用了UpDate();感觉就是select后,因为使用的是read,所以已将当前记录锁定,而这时进行更新,最终导致死锁.
12. 在vs.net中开发web应用时,凡是涉及链接到本网站以外的网址,其前面一定要加http://,否则,vs会以为是当前网址的地址.而无法找到网页.例如:
www.163.com,会被转成http://localhost/xx/www.163.com
13. js代码用于将网站加入收藏夹,只能使用在onclick事件中,单独放到js函数中处理则不好使.原因不知.而且,只支持IE, 不支持火狐.例如
onclick="javascript:window.external.addFavorite('url','name');"
14. 一条忠告:简单化,越简单越好,逻辑简单化,一个页面只处理一种情况.不要象以前似的,利用判断参数来变来变去.但这样直接导致代码无限膨胀.这时候就考验你对面向对象的理解和应用啦.如何平衡才好呢?
15. 一条提醒:在链接到各个搜索引擎的时候,请直接将要查询的关键词也传过去.
16. 在界面设计后做的情况下,开发设计页面时,最好先定义一个自己的css,以便后面界面设计好后统一替换.
17. 在嵌套页面中,最好是用js刷新整个框架页面,很多时候我们不知道哪个页面何时就需要传参数了.例如a和b,最初,b要参数,a传递,只刷新b页面,后来,又要a来根据参数显示不同内容.那么最初我们不如就直接刷新整个框架页面,后期往上加参数就是了.
18. Sql多表查询时,设置返回无重复结果,例如select w from a,b,c where a.id=b.id and b.id=c.id
19. 时常提醒自己,这个方法是否可以作为公共方法提升到父类或公共类中,例如字符串分割的处理方法.网站上传文件路径的方法.
20. 利用IList<type>泛化类型.例如:删除多个记录,可以把记录id循环存入IList<>中,将IList<>作为参数传递.
21. 发送Email.利用Jmail.先安装Jmail.然后指定server服务器,username发送的电子邮箱地址,password邮箱密码.Jmail发送内容中换行.mode为html,发送内容后加<br>.
22. 建议:所有文本类服务器控件,不要设置默认值.
23. 注意HTML编辑器使用中遇到的显示格式不正确问题:打开HTML编辑器,查看源代码,很可能是从HTML拷贝时将html的标签也复制过来了.而在html状态下看不到这些html标签.