在做一个小网站的一些心得与遇到的问题总结,为以后方便查阅。

1清除缓存管用的方法,base类。(好像这样比较管用)
 Context.Response.Cache.SetCacheability(HttpCacheability.NoCache);

2int.TryParse的好处
private   string  _zip;
     
public   string  Zip
     
{
         
get
         
{
             
return _zip;
         }

         
set
         
{
             
int res;
             
if (int.TryParse(value, out res))
             
{
                 
if (res > 99999)
                 
{
                     
throw new ArgumentException("Zip Code Value invalid");
                 }

                 
else
                 
{
                     _zip 
= res.ToString().PadLeft(5, ‘0′);
                 }

             }

             
else
             
{
                 
throw new ArgumentException("Zip code must be numeric");
             }

         }

 
     }
!int.TryParse(this.DropDownList_TypeName.SelectedItem.Value, out TypeId){}
2005中每种类型都提供了TryParse方法,该方法的格式一般为bool TryParse(value,out resultValue)。
value 就是将要转换的数据。resultValue是转换后的值。该方法若成功,resultValue中将是转换后的值,同时方法返回true;若失败,resultValue将是将要转换的类型的默认值,同时方法返回false。

3 枚举,添加删除新闻的两个标志
private enum Status { Add, Edit };
private Status status;

4 存img的时候最好只存img的名字再用再在外面拼地址得到绝对路径。
 这样以后路径有改变不必更新数据库。
  GetAbsolutePath("admin/Photos/" + txt_ImgUrl.Value);得到值(他人方法赞~)
   /**/ /// <summary>
        
/// 将相对路径转换为绝对路径
        
/// 注:最终得到任何场合都可以正常链接的路径(不论将应用程序设置成虚拟目录还是网站的根目录)
        
/// 例如:设置为虚拟目录的时候,"admin/upload/test.jpg" => "/JCDWeb/admin/upload/test.jpg"
        
///                设置为网站根的时候,"admin/upload/test.jpg" => "/admin/upload/test.jpg"
        
/// </summary>
        
/// <param name="path">从根开始的相对路径</param>
        
/// <returns>绝对路径</returns>

         public   string  GetAbsolutePath( string  path)
        
{
            
// 如果是一个绝对路径直接返回
            if (path.ToLower().StartsWith("http://"))
            
{
                
return path;
            }


            
// 去掉前导的 "/"
            if (path.StartsWith("/"))
            
{
                path 
= path.Substring(1);
            }


            
// 整个应用程序的路径
            string appPath = "http://" + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.ApplicationPath;
            
// 得到绝对路径
            if (appPath.EndsWith("/"))
                
return appPath + path;
            
else
                
return appPath + "/" + path;
        }


5 dropdowlist编辑时绑定(easy
foreach  (ListItem li  in  DropDownList_TypeName.Items)
                        
{
                            
if (li.Value == dt.Rows[0]["TypeID"].ToString().Trim())
                            
{
                                li.Selected 
= true;
                                
break;
                            }

                        }


6 fckeditor
<%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>

7上传图片显示预览(针对ie7上传不能显示图片问题,增加滤镜)
< div id = " div_1 "  class = " preview " >
 
< asp:Image ID = " img_Photo "  runat = " server "  ImageUrl = " ../images/noimage.gif "
  Width
= " 120px "  Height = " 90px "   / >< / div >
    
    
function  PreviewInInternetExplorer7(file)
{
    
if (document.all) 
        
{
            $(
'div_1').filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = file;
            $(
'img_Photo').style.display = "none";
        }
 else 
            
{
            $(
'img_Photo').src = file;
        }

}

.preview 
{
    width:120px;
    height:90px;
    overflow:hidden;
    text
-align:center;
    border:1px solid #DBDBDB;
    filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod
='scale');
}

8 得到安全的字符串
 public string GetSafeQueryStr(string _name)
        
{
            string str 
= "";
            
if (_name != "" && _name != null && Request[_name] != "" && Request[_name] != null)
                str 
= Request[_name].ToString().Trim().Replace("'""''");
            
return str;
        }

9repeater增删改 得到typeid(easy)
  < asp:LinkButton ID = " lbt_delete "  CommandArgument = '  <%#DataBinder.Eval(Container.DataItem,"ID")   %>  '
runat
= " server "  CommandName = " delete "  OnClientClick = " return confirm('确定删除吗?') " > 删除 </ asp:LinkButton >
一:Label lb 
=  e.Item.FindControl( " TypeID " as  Label;
 
int  typeId  =   int .Parse (lb.Text.Trim());
switch  (e.CommandName)
二:
int  Id  =  Convert.ToInt32(e.CommandArgument);
 
switch  (e.CommandName)

10 设置可读写的数据库实例
  private   static  Database reader;
  
private   static  Database writer;

  
private   static   object  lockObj  =   new   object ();

        
/**/ /// <summary>
        
/// 获得只读数据库实例
        
/// </summary>

         public   static  Database Reader
        
{
            
get
            
{
                
if (reader == null)
                
{
                    
lock (lockObj)
                    
{
                        
if (reader == null)
                        
{
                            reader 
= DatabaseFactory.CreateDatabase("Reader");
                        }

                    }

                }

                
return reader;
            }

        }


        
/**/ /// <summary>
        
/// 获得可写数据库实例
        
/// </summary>

         public   static  Database Writer
        
{
            
get
            
{
                
if (writer == null)
                
{
                    
lock (lockObj)
                    
{
                        
if (writer == null)
                        
{
                            writer 
= DatabaseFactory.CreateDatabase("Writer");
                        }

                    }

                }

                
return writer;
            }

        }

lock 确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入一个锁定代码,则它将在释放该对象前一直等待。

11 分页存储过程关键代码。

IF   @curpage   =   0

    
SET   @cmd   =   ' SELECT TOP  ' + cast ( @page_record   AS   NVARCHAR ) + '   ' + @fieldlist + '
FROM 
' + @tablename + '  WHERE  ' + @where + '   ' + @orderby

  
ELSE

    
SET   @cmd   =   ' SELECT TOP  ' + cast ( @page_record   AS   NVARCHAR ) + '   ' + @fieldlist + '
FROM 
' + @tablename + '  WHERE  ' + @where + '  AND  ' + @tablefield + '  

    
' + @op + '  (SELECT  ' + @max_min + ' ( ' + @tablefield + ' )  FROM (SELECT TOP
' + cast ( @uprecord   AS   NVARCHAR ) + '   ' + @tablefield + '  FROM  ' + @tablename + '  WHERE 

    
' + @where + '   ' + @orderby + ' ) AS TmpTbl ) AND  ' + @where + '   ' + @orderby

转载于:https://www.cnblogs.com/junyistar/archive/2008/03/17/1109539.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值