创建日历webform c#& SQL

时间:2014-01-07 05:37:12

标签: c# asp.net sql-server

我是编程新手,并为课程分配了一个项目。基本上,我需要使用webforms和sql从头开始制作我自己的日历。它需要能够保存预订日期。

我的指示:

日历视图 - 整月,看起来像日历,突出显示可预订的日期,并对预订的日期进行简要的总结测试。默认为当前月/年,允许更改为其他月/年。

日视图 - 如果已预订,则显示预订信息和返回按钮以返回日历。如果没有显示新的预订表格。

新预订表格 - 收集预订信息,保存并返回按钮。

我被告知使用转发器制作日历的一周部分,但我不知道如何这样做。我找不到任何可以指导我的示例或教程。你们有任何提示或知道任何体面的网站来帮助我吗?我非常喜欢编程。感谢任何可以帮助或指导我朝正确方向前进的人。

<asp:Repeater ID="WeekRepeater" runat="server">
  <ItemTemplate>
     <table>
         <tr>
              <td id="day0" runat="server"></td>
              <td id="day1" runat="server"></td>
              <td id="day2" runat="server"></td>
              <td id="day3" runat="server"></td>
              <td id="day4" runat="server"></td>
              <td id="day5" runat="server"></td>
              <td id="day6" runat="server"></td>
         </tr>
     </table>
  </ItemTemplate>
</asp:Repeater>

1 个答案:

答案 0 :(得分:3)

我认为制作转发器的数据源更好 例如

 DataTable dtSource = new DataTable();
        dtSource.Columns.Add("Sunday");
        dtSource.Columns.Add("Monday");
        dtSource.Columns.Add("Tuesday");
        dtSource.Columns.Add("Wednesday");
        dtSource.Columns.Add("Thursday");
        dtSource.Columns.Add("Friday");
        dtSource.Columns.Add("Saturday");

         int year = 1995;
        int month = 3;

        int DaysInMonth = DateTime.DaysInMonth(year, month);

        int i = 1;
        for (int weak = 0; weak <= 5; weak++)
        {
            DataRow newday = dtSource.NewRow();
            for (int day = 1; day <= 7; day++)
            {
                if (i > DaysInMonth) break;
                 DateTime dDate = DateTime.Parse(i.ToString() + "/" + month .ToString()+ "/" + year.ToString());
                DayOfWeek dayWeek = CultureInfo.InvariantCulture.Calendar.GetDayOfWeek(dDate);
                newday[dayWeek.ToString()] = i.ToString();
                i++;
                if (dayWeek.ToString() == "Saturday") break;
            }
            dtSource.Rows.Add(newday);
            if (i > DaysInMonth) break;
        }

        WeekRepeater.DataSource = dtSource;
        WeekRepeater.DataBind();

这将创建1995年3月的日历

你的转发器将是

<asp:Repeater ID="WeekRepeater" runat="server">
    <HeaderTemplate>
        <table>
            <tr>
                <th>
                    Su
                </th>
                <th>
                    Mo
                </th>
                 <th>
                    Tu
                </th>
                <th>
                    Wed
                </th>
                 <th>
                    Thu
                </th>
                <th>
                    Fr
                </th>
                 <th>
                    Sa
                </th>
            </tr>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
            <td bgcolor="#CCFFCC">
                <asp:Label runat="server" ID="Label1" Text='<%# Eval("Sunday") %>' />
            </td>
            <td bgcolor="#CCFFCC">
                <asp:Label runat="server" ID="Label2" Text='<%# Eval("Monday") %>' />
            </td>
            <td bgcolor="#CCFFCC">
                <asp:Label runat="server" ID="Label3" Text='<%# Eval("Tuesday") %>' />
            </td>
            <td bgcolor="#CCFFCC">
                <asp:Label runat="server" ID="Label4" Text='<%# Eval("Wednesday") %>' />
            </td>
             <td bgcolor="#CCFFCC">
                <asp:Label runat="server" ID="Label5" Text='<%# Eval("Thursday") %>' />
            </td>
            <td bgcolor="#CCFFCC">
                <asp:Label runat="server" ID="Label6" Text='<%# Eval("Friday") %>' />
            </td>
            <td bgcolor="#CCFFCC">
                <asp:Label runat="server" ID="Label7" Text='<%# Eval("Saturday") %>' />
            </td>
        </tr>
    </ItemTemplate>
</asp:Repeater>