⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dropdowncalendar.cs

📁 asp.net下拉日期控件源码,非常好用。
💻 CS
📖 第 1 页 / 共 2 页
字号:
            writer.RenderEndTag();  //1td

            writer.AddAttribute(HtmlTextWriterAttribute.Align, "center");
            writer.AddAttribute(HtmlTextWriterAttribute.Width, "70%");
            writer.RenderBeginTag(HtmlTextWriterTag.Td);
            writer.AddAttribute(HtmlTextWriterAttribute.Id, ID + "_year");
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.RenderEndTag();
            writer.Write("年");
            writer.AddAttribute(HtmlTextWriterAttribute.Id, ID + "_month");
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.RenderEndTag();
            writer.Write("月");
            writer.RenderEndTag();  //td

            NextPrevStyle.AddAttributesToRender(writer);
            writer.AddAttribute(HtmlTextWriterAttribute.Align, "right");
            writer.RenderBeginTag(HtmlTextWriterTag.Td);//1td
            writer.AddAttribute(HtmlTextWriterAttribute.Title, "转到下一个月");
            writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "changemonth('" + ID + "',1)");
            writer.RenderBeginTag(HtmlTextWriterTag.A); //1a
            writer.Write(">");
            writer.RenderEndTag();  //1a
            writer.RenderEndTag();  //1td
            writer.RenderEndTag();  //tr
            writer.RenderEndTag();  //table
            writer.RenderEndTag();  //td
            writer.RenderEndTag();  //tr
         

            writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            string[] ws = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", };
            foreach (string s in ws)
            {
                DayHeaderStyle.AddAttributesToRender(writer);
                writer.AddAttribute(HtmlTextWriterAttribute.Scope, "col");
                if (DayHeaderStyle.HorizontalAlign == HorizontalAlign.NotSet)
                    writer.AddAttribute(HtmlTextWriterAttribute.Align, "center");
                writer.AddAttribute(HtmlTextWriterAttribute.Abbr, s);
                writer.RenderBeginTag(HtmlTextWriterTag.Th);
                writer.Write(s.Substring(2));
                writer.RenderEndTag();
            }
            writer.RenderEndTag(); //tr 
            writer.WriteLine("<!--end:header-->");

            int index = 0;

            for (int i = 0; i < 6; i++)
            {
                writer.RenderBeginTag(HtmlTextWriterTag.Tr);
                for (int j = 0; j < 7; j++)
                {
                    if (j == 0 || j == 6)
                        WeekendDayStyle.AddAttributesToRender(writer);
                    else
                        DayStyle.AddAttributesToRender(writer);

                    if (DayStyle.HorizontalAlign == HorizontalAlign.NotSet)
                        writer.AddAttribute(HtmlTextWriterAttribute.Align, "center");
                    writer.AddAttribute(HtmlTextWriterAttribute.Width, "14%");
                    writer.AddAttribute(HtmlTextWriterAttribute.Id, ID + "_day" + index.ToString());
                    writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "setvalue('" + ID + "'," + index +")");    
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);
                    writer.RenderEndTag(); //td 
                    index++;
                }
                writer.RenderEndTag(); //tr 
            }

            writer.RenderEndTag(); //table   
            writer.RenderEndTag(); //div   
        }

        #endregion

        #region "script"
        string key = "dropdowncalendar_script";
        string script = @"
<script language =javascript>
function showCalendar(calendar) 
{    
    var odate = document.getElementById(calendar+'_date'); 
    if ( odate.style.visibility=='hidden' ){
        var y = document.getElementById(calendar+'_yeartext').value;     
        var m = document.getElementById(calendar+'_monthtext').value;
        display( calendar,y,m);  
        odate.style.visibility='visible';
        odate.style.display = 'block'; 
    }else{
        odate.style.visibility='hidden';
        odate.style.display = 'none'; 
    }
}

function changemonth(calendar,par)
{   
    var omonth = document.getElementById(calendar+'_month');
    var oyear = document.getElementById(calendar+'_year'); 
    var m = omonth.innerText;
    var y = oyear.innerText;
    m = parseInt(m)+par;     
    if(parseInt(m)>12){ 
      m = 1; 
      y = parseInt(y)+1;
    } else  if(parseInt(m)< 1) {
      m = 12; 
      y = parseInt(y)-1;
    }   
    display(calendar, y,m);
}

function daysInMonth(month,year) 
{
    var ds=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    var n=ds[month];
    if(month==1&&year%4==0) ++n;
    return n;
}

function display(calendar,year,month)
{     
    var omonth = document.getElementById(calendar+'_month');
    var oyear = document.getElementById(calendar+'_year');   
    oyear.innerText = year;
    omonth.innerText = month;         
    var start=new Date(year,month-1,1).getDay();   
    var days=daysInMonth(month-1,year);      
    var pm = month-1,py = year; 
    if ( pm == 0 ){
      pm = 12;
      py = year-1;
    }     
    var pd=daysInMonth(pm-1,py); 
    var day = calendar + '_day';     
    for(var i=0;i< start;i++){
       var td = document.getElementById(day+i);
       var d = pd-start+i+1;
       td.innerHTML='<font color = #808080>'+d+'</font>';        
       td.title=d+'日';     
    }
    for(var i= start+days; i< 42;i++){       
        var td = document.getElementById(day+i);  
        var d = i-start-days+1;     
        td.innerHTML='<font color = #808080>'+d+'</font>';   
        td.title=d+'日';                 
    }
    for(var i=1;i<=days;i++){    
        var td = document.getElementById( day +(start+i-1));
        td.innerText=i;       
        td.title=year+'年'+ month+'月'+i+'日';          
    }  
}

function validate(calendar)
{
    var oyear = document.getElementById(calendar+'_yeartext'); 
    var omonth = document.getElementById(calendar+'_monthtext');
    var oday = document.getElementById(calendar+'_daytext');
    var y = oyear.value;
    var m = omonth.value;
    var d = oday.value;
    var today = new Date();
    if ( isNaN(y)||y > 9999 || y< 1000){
        y = today.getFullYear();
        oyear.value = y;
    }    
    if ( isNaN(m)|| m > 12 || y< 1){
        m = today.getMonth();
        omonth.value = m + 1;
    }
    if ( isNaN(d) || d < 1 || d > daysInMonth(m,y)){
        d = 10;
        oday.value = d;
    }
}

function setvalue(calendar,index)
{
    var y = document.getElementById(calendar+'_year').innerText;
    var m = document.getElementById(calendar+'_month').innerText;
    var d = document.getElementById(calendar+'_day'+index).innerText; 
    if ( parseInt(d) - 2 > index ) {
        m = parseInt(m)-1;
        if ( m == 0){
           m = 12;
           y = parseInt(y) - 1;
        }
    }else if (parseInt(d)+26<index ){
        m=parseInt(m)+1;
        if ( m == 13){
           m = 1;
           y = y + 1;
       }
    } 
    document.getElementById(calendar+'_yeartext').value = y;
    document.getElementById(calendar+'_monthtext').value = m;
    document.getElementById(calendar+'_daytext').value = d;
    showCalendar(calendar);  
}
</script>";
        #endregion
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -