总结一下散乱的开发点滴(4) (高手勿入)

好久没有写BLOG,开发点滴全记在了本地,有时候也忘记去整理它。现在趁大家午睡的时候整理出来吧,也可以让大家提提不同的意见:)

1. 一个方法实现类似htmlencode的方法

function HtmlEncode(text){
     
return text.replace(/&/g, '&amp').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
}

function HtmlDecode(text){
   return text.replace(/&amp/g, '&').replace(/&quot;/g, '\
"').replace(/&lt;/g, '<').replace(/&gt;/g, '>');
}

 2. 在pl/sql里,如果int1+int2,若其中有一个为null,则结果亦为null,所以应改为 

select  nvl(int1,0+ nvl(int2, 0) accout from tbl

3. as 的类型转换不能适用于值类型,如bool ,int等

4. server.transfer(url, true),第二个参数,为保持页面querystring和form的bool参数为true, eg: server.transfer(url, true),否则将陷入循环提交页面、Server.transfer(Request.RawUrl, true); cpu100%. (即:不能server.transfer(url,true)传送到同一页面文件。有时页面运行时出现asp.net stopped unexpectly的错误,就看看是不是这个原因产生的吧。

5. Context.Handler来实现两个页面切换时保存的页面控件的值
     http://msdn.microsoft.com/library/en-us/vbcon/html/vbtskpassingvaluesbetweenwebformspages.asp?frame=true
     必须使用server.transfer来进行跳转;且第二个参数不能为true

6. usercontrol等里面出现的JS代码全部归于一个JS文件,能加快页面载入速度

7. 枚举实为一个常量类型,枚举可以直接初始化为整形,如-1;
    详见:http://www.cnblogs.com/allenlooplee/allenlooplee/archive/2005/04/29/147356.html

8. 使用dataset.GetXML()得到XML时,全部为NULL的列将不会写入到XML里,所以从XML再转换到DATASET 时,应判断是否存在哪一列,或者,在组成生成dataset的SQL语句中用nvl(num1, '') num1来将为null的数据转为空串或0值

9. oracle: union all和union的区别

10. oracle: null是不会参与到count统计的 count(colIsNull) 为0

 SELECT 
 
COUNT(DISTINCT CASE  WHEN B_DATE >= TO_DATE('2005-12-01''YYYY-MM-DD'AND
                            B_DATE 
<= TO_DATE('2005-12-31''YYYY-MM-DD'THEN   CLASSID   ELSE   null   END) New_Num
 FROM CLASS_TBL     

 count是整表显示出来后再进行count,而非一条一条进行的
 
11. C#中的SP参数必须与ORACLE的存储过程参数的顺序一致:
      OleDbParameter[] prams = {data.MakeInParam("intIndex",         OleDbType.Integer,  -1,    intIndex),...
 
12. Response.Redirect(url); 前,我们需要用javascript弹出框弹出信息后再转向:
      Page.RegisterClientScriptBlock("key","alert('您有保存过草稿,自动提取您的草稿内容。');");      
    
13. 多行模式的TextBox的maxlength设置没有用;所以这种情况下,必须换一种方法进行长度的判断;
 
14. oracle里sp,参数不能和字段名同名,养成”p_字段名“传参的习惯

15. 禁止汉字输入的不完全解决方法:style="IME-MODE: disabled; ",拷贝中文入值将同样会输出汉字(有更好的方法吗?又不想屏蔽粘贴的功能);

16. TemplateColumn里面的控件(如Image) 应该为: (Image)_cell.Controls[1],而Controls[0]其实是LiteralControl;
      其它列,如hyperlinkColumn, LinkbuttonColumn类似的列,取控件的时候,帽应该为_cell.controls[0]; ----注意索引;

17. 有时模态窗口因为有缓存的存在,使得传不同参数页面仍然保存不变,禁止缓存是好的解决方法:
       <META HTTP-EQUIV="expires" CONTENT="0">
       <META HTTP-EQUIV="Pragma" CONTENT="no-cache">

积累开发点滴= 积累经验=积累财富喔。望大家也能分享下自己的小点滴。。多小都可能会解决那些困扰人很久的问题:)

> 总结一下散乱的开发点滴(3) (高手勿入)
> 总结一下散乱的开发点滴(2) (高手勿入)
> 总结一下散乱的开发点滴(高手勿入)

posted @ 2006-03-15 13:16  Elaine Shi  阅读(3099)  评论(11编辑  收藏  举报