2014-01-07 46 views
-1

我不熟悉编程并且已经为类分配了一个项目。基本上,我需要使用webforms和sql从头开始自己的日历。它需要能够保存预订日期。创建日历webform c#&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> 
+0

你必须使用中继器,对吧?其他明智的请尝试[这里](http://www.codeproject.com/Articles/16592/Event-Calendar-ASP-NET-2-0-C) – pravprab

+1

这不是一个做你的家庭作业网站。 – Nico

+0

@pravprab感谢您的链接,我一直在阅读那一个。我问我是否可以使用内置日历,但被告知不。我必须从头开始做所有事情。我只是不知道如何填充我的表,所有的日子。 – user3167841

回答

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年

三月和你的中继将

<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> 
+0

谢谢你pravprab。我非常感谢你的帮助。我甚至不知道如何使用你给出的例子 - 也许我最好放弃这个。就像我说的那样,即时通讯对于任何编程/ sql服务器等都是非常新颖的。除了事物的GUI方面,我还没有最初的想法。这似乎是从零开始构建的非常困难的事情。但是谢谢你,先生。我感谢你的时间和帮助。希望我能给你一个upvote =) – user3167841

+0

编辑我的答案... – pravprab