asp.net 網頁技術要點摘要

1.定位div在網頁中間

<div id="form" style="
    position:absolute; 
    width:800px; 
    height:600px;
    margin-left:50%;  
    left:-400px; 
    "></div>

    <script type="text/javascript">
        document.getElementById("form").style.top = document.documentElement.clientHeight / 2 - 600 / 2;
    </script>

2.利用cookie長期保存用戶ID

取cookie:
HttpCookie cookie = Request.Cookies["LoginID"];
設置cookie:
 if (cookie == null || cookie["userid"] == null || cookie["userid"].ToString() != userid)
 {
         cookie = new HttpCookie("LoginID");
          cookie["userid"] = userid;
          cookie.Expires = DateTime.Now.AddYears(1);
          Response.Cookies.Add(cookie);
 }

3.後臺獲取前臺的數據

object strID = Request.Params["id"];
string treeID = Request.QueryString["TreeID"];
string strData = Request.Form.ToString();

4.後臺返回前臺數據

Response.Write("{success:true}");
Response.Write(ExtTree.Current.CreateExtTreeJSON(treeID, cookie["userid"].ToString()));
Response.End();
 

5.網頁放大縮小事件

 var resizeTimer = null;
        function doResize() {
            //alert("width=" + document.documentElement.clientWidth + "   Height=" + document.documentElement.clientHeight);
            tabs.setHeight(document.documentElement.clientHeight-80-5);
        }
        window.onresize = function () {
            if (resizeTimer) clearTimeout(resizeTimer);
            resizeTimer = setTimeout("doResize()", 0);
        }

6.點擊button 彈出div層

<button id="button1" class="btn"   onmouseout = "hidePopup();" onmouseover = "showPopup(220,300);"
    <script type ="text/javascript">
//            function showwin() {
//                window.open("ButtonView.aspx", "", "height=400,width=200", "toolbar = no");
//                    }
        var baseText = null;
        function showPopup(w, h) {
            var popUp = document.getElementById("popupcontent");
            popUp.style.top = "50px";
            popUp.style.left = document.documentElement.clientWidth / 2-220;
            popUp.style.width = w + "px";
            popUp.style.height = h + "px";
//            if (baseText == null)
//                baseText = popUp.innerHTML;
//            popUp.innerHTML = baseText + "<div id=\"statusbar\"><input type=\"button\" value=\"關閉\" onClick=\"hidePopup();\"></div>";
//            var sbar = document.getElementById("statusbar");
//            sbar.style.marginTop = (parseInt(h) - 300) + "px"; 
            popUp.style.visibility = "visible";
        }
        function hidePopup() {
            var popUp = document.getElementById("popupcontent");
            popUp.style.visibility = "hidden"; 
        }

    </script>
<div id="popupcontent"></div> 

7.前臺接受參數

var query = location.search.substring(1).split('&');
var id = query[0];
var text = (query[1]);

8.javascript 實現在線時間顯示

  function nowTime(){
     /*
      * ev:顯示時間的元素
      * type:時間顯示模式.若傳入12則爲12小時制,不傳入則爲24小時制
      */
     //年月日時分秒
     var Y,M,D,W,H,I,S;
     //月日時分秒爲單位時前面補零
     function fillZero(v){
         if(v<10){v='0'+v;}
         return v;
     }
     (function(){
         var d=new Date();
         var Week=['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];
         Y=d.getFullYear();
         M=fillZero(d.getMonth()+1);
         D=fillZero(d.getDate());
         W=Week[d.getDay()];
         H=fillZero(d.getHours());
         I=fillZero(d.getMinutes());
         S=fillZero(d.getSeconds());
//         //12小時制顯示模式
//         if(type && type==12){
//             //若要顯示更多時間類型諸如中午凌晨可在下面添加判斷
//             if(H<=12){
//                 H='上午 '+H;
//             }else if(H>12 && H<24){
//                 H-=12;
//                 H='下午 '+fillZero(H);
//             }else if(H==24){
//                 H='下午 00';
//             }
//         }
         document.getElementById("time").innerHTML='現在時間:'+Y+'年'+M+'月'+D+'日 '+' '+W+' '+H+':'+I+':'+S +'      ';
         //每秒更新時間
         setTimeout(arguments.callee,1000);
     })()
     }

9. 判斷各種瀏覽器

function IsWhichBrowser() {
    var Sys = {};
    var ua = navigator.userAgent.toLowerCase();
    window.ActiveXObject ? Sys.ie = ua.match(/msie ([\d.]+)/)[1] :
  document.getBoxObjectFor ? Sys.firefox = ua.match(/firefox\/([\d.]+)/)[1] :
  window.MessageEvent && !document.getBoxObjectFor ? Sys.chrome = ua.match(/chrome\/([\d.]+)/)[1] :
  window.opera ? Sys.opera = ua.match(/opera.([\d.]+)/)[1] :
  window.openDatabase ? Sys.safari = ua.match(/version\/([\d.]+)/)[1] : 0;
    return Sys;
}

//  if (Sys.ie) alert('IE: ' + Sys.ie);
//  if (Sys.firefox) alert('Firefox: ' + Sys.firefox);
//  if (Sys.chrome) alert('Chrome: ' + Sys.chrome);
//  if (Sys.opera) alert('Opera: ' + Sys.opera);
//  if (Sys.safari) alert('Safari: ' + Sys.safari);
10. gridview 合併單元格

       /// <summary>
        /// 合併GridView中某列相同信息的行(單元格) 
        /// </summary>
        /// <param name="GridView1">GridView</param>
        /// <param name="cellNum">第幾列</param>
        public static void GroupRows(GridView GridView1, int cellNum)
        {
           
                int i = 0, rowSpanNum = 1;
                while (i < GridView1.Rows.Count - 1)
                {
                    GridViewRow gvr = GridView1.Rows[i];

                    for (++i; i < GridView1.Rows.Count; i++)
                    {
                        GridViewRow gvrNext = GridView1.Rows[i];
                        if (gvr.Cells[cellNum].Text == gvrNext.Cells[cellNum].Text)
                        {
                            gvrNext.Cells[cellNum].Visible = false;
                            rowSpanNum++;
                        }
                        else
                        {
                            gvr.Cells[cellNum].RowSpan = rowSpanNum;
                           
                            rowSpanNum = 1;
                            break;
                        }

                        if (i == GridView1.Rows.Count - 1)
                        {
                            gvr.Cells[cellNum].RowSpan = rowSpanNum;
                           
                        }
                    }
                }
            
        }

11. 預算sql

select  
subject.subjectCode,
sum(DetailBudget.total) as total,
sum(case substring(projectCode,4,2) when 'A0'  then DetailBudget.total else 0 end) as a0,
sum(case substring(projectCode,4,2) when 'A1'  then DetailBudget.total else 0 end) as a1,
sum(case substring(projectCode,4,2) when 'A2'  then DetailBudget.total else 0 end) as a2,
sum(case substring(projectCode,4,2) when 'B1'  then DetailBudget.total else 0 end) as B1,
sum(case substring(projectCode,4,2) when 'B2'  then DetailBudget.total else 0 end) as B2,
sum(case substring(projectCode,4,2) when 'B3'  then DetailBudget.total else 0 end) as B3,
sum(case substring(projectCode,4,2) when 'B4'  then DetailBudget.total else 0 end) as B4,
sum(case substring(projectCode,4,2) when 'B5'  then DetailBudget.total else 0 end) as B5
from subject
left join DetailBudget on subject.subjectCode = DetailBudget.subjectCode 
group by subject.subjectCode  
order by subject.subjectCode

select  
subject.subjectname,
subject.subjectCode,
sum(DetailBudget.total) as total
into #temp1
from subject 
left join DetailBudget on subject.subjectCode = DetailBudget.subjectCode 
where len(subject.subjectCode) = 3
group by subject.subjectCode,subject.subjectname
order by subject.subjectCode


select
subject.subjectCode,
sum(expenses.money) as totalmoney,
sum(case when month = '1' and  year ='2012' then expenses.money else 0 end) as currentMonthMoney
into #temp2
from subject 
left join expenses on subject.subjectCode = expenses.subjectCode
where len(subject.subjectCode) = 3
group by subject.subjectCode
order by subject.subjectCode



select
m.subjectname, 
m.subjectCode,
m.total,
n.totalmoney,
n.currentMonthMoney,
case when m.total = 0 then 0 else cast(n.totalmoney/m.total as decimal(18,2)) end rate
from
(select * , px = row_number()over(order by getdate()) from #temp1) m
full join
(select * , px = row_number()over(order by getdate()) from #temp2) n
on m.px = n.px

drop table #temp1
drop table #temp2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章