2014年12月31日 星期三

ashx繼承方式

public class BaseHandler : IHttpHandler, IRequiresSessionState
{
    public void ProcessRequest(HttpContext context)
    {
        OnLoad(context);
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
    public virtual void OnLoad(HttpContext context)
    { 
    }
}
 
================================
 
public class test : BaseHandler
    {
        public override void OnLoad(HttpContext context)
        {

           //DOSomething
        }
    } 

2014年12月15日 星期一

Javascript HTML Encode & Decode

function htmlEncode(value){
  //create a in-memory div, set it's inner text(which jQuery automatically encodes)
  //then grab the encoded contents back out.  The div never exists on the page.
  return $('<div/>').text(value).html();
}

function htmlDecode(value){
  return $('<div/>').html(value).text();
}

Javascript Replace All

取代所有 " 變成 _

'a"b"c'.replace(/"/g,"_");

2014年11月17日 星期一

上傳檔案 透過 Ajax To Ashx

Script: 
 
<script type="text/javascript">
$(document).ready(function () {
  $("#Button1").click(function (evt) {
    var fileUpload = $("#FileUpload1").get(0);
    var files = fileUpload.files;

    var data = new FormData();
    for (var i = 0; i < files.length; i++) {
      data.append(files[i].name, files[i]);
    }
  
    //額外的參數 
    data.append("Key", "Value");
     
    var options = {};
    options.url = "FileUploadHandler.ashx";
    options.type = "POST";
    options.data = data;
    options.contentType = false;
    options.processData = false;
    options.success = function (result) { alert(result); };
    options.error = function (err) { alert(err.statusText); };
  
   $.ajax(options);
 
   evt.preventDefault();
  });
});
</script>
 
 
ashx: 

public void ProcessRequest(HttpContext context)
        {
          //額外參數
          string para1 = context.Request.Params.Get("key") == null  ? "" : 
            context.Request.Params.Get("key");
 
          if (context.Request.Files.Count > 0)
            {
                HttpFileCollection files = context.Request.Files;
                for (int i = 0; i < files.Count;i++ )
                {
                    HttpPostedFile file = files[i];
                    string fname = context.Server.MapPath("~/uploads/" + file.FileName);
                    file.SaveAs(fname);
                }
            }
            context.Response.ContentType = "text/plain";
            context.Response.Write("File(s) Uploaded Successfully!");
        }

2014年10月16日 星期四

SQL Select 結果後 手動更新其中美些欄位值

DECLARE @TmpTable1 TABLE(
    FC_Title varchar(MAX) ,
    FC_Content varchar(MAX),
    Brands varchar(MAX),
    FC_ID int,
    QTY int
);    
    
WITH T AS(                      
SELECT FC_Title, FC_Content, dbo.GetForumBrands(FC_ID) AS Brands, FC_ID,
(SELECT COUNT(*) FROM Forum F LEFT JOIN UserItem UI ON F.UID=UI.UID WHERE F.FC_ID=FC.FC_ID AND F.FM_IsOpen=1) AS QTY
FROM ForumCatalog FC WHERE FC_IsOpen=1 )

Insert into @TmpTable1(FC_Title, FC_Content, Brands,FC_ID,QTY) select FC_Title, FC_Content, Brands,FC_ID,QTY from T

update @TmpTable1 set QTY = (
    select COUNT(*) from
             (select k.Id from dbo.KM_Expert k inner join KM_Expert_Estimate e on k.Id = e.ExpertId
             group by k.Id) T
 ) where FC_ID = 10

select * from @TmpTable1 ORDER BY FC_ID

2014年9月16日 星期二

解決 MasterPage Head <% ... %> 錯誤

css:
<link href="~/App_Themes/Theme1/css/grid.css" rel="stylesheet" type="text/css" />

js:
<script type="text/javascript" src='<%#ResolveUrl("~/JavaScript/jquery.cookie.js") %>'></script>

後端: 
protected override void OnLoad(EventArgs e)
{
        Page.Header.DataBind();
}

2014年7月16日 星期三

SQL 樹 遞迴 查詢所有子節點

WITH T AS
(
SELECT CID,ParentID
    , 0 AS Level
    FROM SYS_Category
    WHERE CID = 8
     UNION ALL
    SELECT c.CID,c.ParentID, Level +1
    FROM SYS_Category c
    inner JOIN T t1
    ON c.ParentID=t1.CID
)
SELECT * FROM T;