我用JScript做一个日历。
<script language="JSCRIPT" runat="server">// <!CDATA[
var i;
var j;
var dat = new Date();
//得到下拉列表中的值,年份
function List1_onSelected(sender : Object, e : EventArgs)
{
    for(i = 0; i < DropDownList1.Items.Count; i++)
    {
        if(DropDownList1.Items(i).Selected)
            break;
    }
}
//得到月份
function List2_onSelected(sender : Object, e : EventArgs)
{
    for(i = 0; i < DropDownList2.Items.Count; i++)
    {
        if(DropDownList2.Items(i).Selected)
            break;
    }    var y = DropDownList1.Items(i).Text;
    var m = DropDownList2.Items(i).Text;
    var d = 0;
    var date = new Date(y, m - 1, 1);
//根据月份,判断天数
    switch(m)
    {
        case 2:
            if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
                d = 29;
            else
                d = 28;
            break;
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            d = 31;
            break;
        case 2:
        case 4:
        case 6:
        case 9:
        case 11:
            d = 30;
            break;
            
     }
    for(var k = 1; k <= d; k++)
    {
       //TODO:在这里将天数插入到每个TableCell中。
    }
}

解决方案 »

  1.   

    </head>
    <body>
        <form method="post" id="form1" runat="server">
        <div>
            &nbsp;<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="List1_onSelected">
                <asp:ListItem Selected="True">2005</asp:ListItem>
                <asp:ListItem>2006</asp:ListItem>
                <asp:ListItem>2007</asp:ListItem>
                <asp:ListItem>2008</asp:ListItem>
            </asp:DropDownList>
            &nbsp;<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" OnSelectedIndexChanged="List2_onSelected">
                <asp:ListItem Selected="True">1</asp:ListItem>
                <asp:ListItem>2</asp:ListItem>
                <asp:ListItem>3</asp:ListItem>
                <asp:ListItem>4</asp:ListItem>
                <asp:ListItem>5</asp:ListItem>
            </asp:DropDownList>
            <asp:Table ID="Table1" runat="server" GridLines="Both">
                <asp:TableRow ID="Week" runat="server">
                    <asp:TableCell runat="server">周日</asp:TableCell>
                    <asp:TableCell runat="server">周一</asp:TableCell>
                    <asp:TableCell runat="server">周二</asp:TableCell>
                    <asp:TableCell runat="server">周三</asp:TableCell>
                    <asp:TableCell runat="server">周四</asp:TableCell>
                    <asp:TableCell runat="server">周五</asp:TableCell>
                    <asp:TableCell runat="server">周六</asp:TableCell>
                </asp:TableRow>
                <asp:TableRow runat="server" ID="FW">
                </asp:TableRow>
                <asp:TableRow runat="server" ID="SW">
                </asp:TableRow>
                <asp:TableRow runat="server" ID="TW">
                </asp:TableRow>
                <asp:TableRow runat="server" ID="OW">
                </asp:TableRow>
            </asp:Table>
        
        </div>
        </form>
    </body>
    </html>
      

  2.   

    btw,vs2005中好像不能用jscript,能否推荐一个开发工具?
      

  3.   

    真是……汗,居然每一个人来答,失望了
    问题已经解决了,后来在网上下载了一个1st Javascript Editor Pro 3.8,除了不能直接看界面还有debug有点问题之外,其他还蛮好用的。
    代码如下:
       var myTable;
       myTable = document.getElementById("Table1");
       var i = 0;
       var dd = new Date(parseInt(ye), parseInt(m) - 1, 1);
       var wee = dd.getDay();   var newRow = myTable.insertRow();
       var newCell;   var k = 1;
       if(k == 1 && parseInt(wee) != 0)
       {
          for(var h = 0; h < wee; h ++ )
          {
             newCell = newRow.insertCell();
             newCell.innerText = " ";
          }
       }
       for(k = 1; k <= d; k ++ )
       {
          var date = new Date(parseInt(ye), parseInt(m) - 1, k);
          var w = date.getDay();      newCell = newRow.insertCell();
          newCell.innerText = k.toString();      if(w == 6 && k != d)
          {
             newRow = myTable.insertRow();
          }
       }
    自己为自己up以下。