2014-01-07 83 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