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


    1. 从一个枚举值得到对应的串:   

    // 定义一个枚举
       enum Colors { Red, Green, Blue, Yellow };
       
    // 得到串
       System.Enum.GetName(System.Type type, object obj);
      Enum.GetName(
    typeof(Colors), 3)
       
    // 返回Yellow

    2. oracle: blob的读写方法write,read

    3. ref在置参前,一定要先给参数分配内存,也就是需要实例化
       如果遇到接口不允许实例化,可以先实例化继承接口的类,如下:  

    public abstract class  UserInfo : IIdentity
    实例化方法:
    UserInfo user 
    =  System.Web.HttpContext.Current.User.Identity as UserInfo;

    5.下面代码一出来大家就知道是干嘛用的吧
       有的时候我们不想让用户直接在IE中打开已知类型的文件,比如Word,而希望能直接下载,这时候可用下面代码来替换Response.Redirect

    Response.ContentType = "application/octet-stream";
    Response.AddHeader(
    "Content-Disposition""attachment;FileName="+fileName);
    Response.BinaryWrite((
    byte[])YourFileData.Rows[0]["AttachmentContent"]);
    Response.End();

       Lostinet :
            补充一下。通常我喜欢把链接做成这样:
           <a href="download.aspx/hello.chm?fileid=12345">hello.chm</a>
           这样客户端下载的时候默认是 hello.chm 这个名字的。

    6.  用如下方法来创造一个类的单例实例化方法         

    /// <summary>
      
    /// 内容摘要: 构造函数进行初始化
      
    /// </summary>

      protected EvalModelBLLBase()
      
    {
      }

      
    private static volatile EvalModelBLLBase m_instance = null;
      
    /// <summary>
      
    /// 内容摘要: 取得EvalModelBLLBase对象
      
    /// </summary>
      
    /// <returns>返回一个已经存在的实体</returns>

      public static EvalModelBLLBase GetInstance()
      
    {
       
    // 通用的必要代码 iBatisNet双校检机制,如果实例不存在


       
    if (m_instance == null)
       
    {
        
    lock (typeof (EvalModelBLLBase))
        
    {
         
    // 如果实例不存在


         
    if (m_instance == null)
         
    {
          
    // 创建一个的实例
          m_instance = new EvalModelBLLBase();
         }

        }

       }


       
    // 返回业务逻辑对象
       return m_instance;
      }




    使用的时候就可以直接:obj.GetInstance().xxx();即可,在一定缓存时间内,使用的是同一个对象,省去了频繁的new obj();

    注: volatile关键字,能将此线程中的对象缓存到属于它自己的内存空间中。在一个线程中使用单例.
             这儿有个关于volatile的详细解释:
             http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/csref/html/vclrfvolatile.asp
             http://www.coogo.net/bbs/dispbbs.asp?boardid=45&id=174529
             "使用 volatile 修饰符能够确保一个线程检索由另一线程写入的最新值。"        

    7.  if (mString.length > 0) 比 if (mString != "") 效率高

    8. obj.scrollIntoView()相当于focus

    9.  <asp:BoundColumn DataField="INVESTIGATESTARTDATE" HeaderText="开始日期" DataFormatString="{0:d}"></asp:BoundColumn>
         来显示日期而不显示时间, 这个和formatstring的用法相同
      
    10. dropdownlist等类似控件,它们寻找selectedIndex,是按value来找的,也就是说如果几个items的value相同,则会找到第一个items为selectedItem.所以当你发现几个ITEM使用同一个VALUE,无论怎么点,.net都只认为你选中第一项时不要意外。

    11 动态装载usercontrol.  

    userControl = (userControls.ProjectHome)LoadControl("../userControls/Project/ProjectHome.ascx");
    ctlHome.Controls.Add(userControl);     

    12. 从XML转成DATASET

    System.IO.StringReader sr = new System.IO.StringReader(xmlstr);
    DataSet ds 
    = new DataSet();
    ds.ReadXml(sr);

    13. 模态窗口有时因为缓存的原因,有时无法进入page_load方式进行刷新:
          须加入 <meta http-equiv="pragma" content="no-cache">

    总结一下散乱的开发点滴(2) (高手勿入) ( 10-08 17:21)
    总结一下散乱的开发点滴(高手勿入) ( 09-21 14:21)

  • 相关阅读:
    CSS属性之定位
    CSS选择器区别
    HTML属性及其相关区别
    HTML标签区别
    HTML其他概念
    CSS3新特性
    HTML5新标签
    HTML5新特性
    params修饰符的用法
    C#中引用参数ref和输出参数out
  • 原文地址:https://www.cnblogs.com/syveen/p/297197.html
Copyright © 2020-2023  润新知