2014-01-30 95 views
0

當用戶點擊日期時,我在標籤上顯示工作日。對於相同的代碼被賦予顯示標籤上的星期日期

C#

protected void Calendar1_SelectionChanged(object sender, EventArgs e) 
{ 

    DateTime input = Calendar1.SelectedDate; 
    int delta = DayOfWeek.Sunday - input.DayOfWeek; 
    DateTime firstDay = input.AddDays(delta); 

    for (int i = 0; i < 6; i++) 
     Label2.Text += ((DateTime)(firstDay.Add(new TimeSpan(i, 0, 0, 0)))).ToShortDateString() + " "; 
} 

ASPX

<asp:Calendar runat="server" ID="Calendar1" OnSelectionChanged="Calendar1_SelectionChanged" /> 
<asp:Label ID="Label2" runat="server" Text="" /> 

現在的問題是,每當我點擊標籤上的日期應該得到覆蓋,但每次它的寫作日期已經出現在前一個旁邊。理想情況下,它應該在現有的日期上寫。

第二個問題是我想要顯示並獲取星期數字。

有什麼想法?

回答

1

我認爲,所有你需要做的是設置LABEL2文本SelectionChanged事件清空即

protected void Calendar1_SelectionChanged(object sender, EventArgs e) 
     { 
      DateTime input = Calendar1.SelectedDate; 
      int delta = DayOfWeek.Sunday - input.DayOfWeek; 
      DateTime firstDay = input.AddDays(delta); 

      Label2.Text = string.Empty; 

      for (int i = 0; i < 6; i++) 
       Label2.Text += ((DateTime)(firstDay.Add(new TimeSpan(i, 0, 0, 0)))).ToShortDateString() + " "; 
     } 

question涵蓋你對週數的問題。

+0

得到它的工作謝謝你......但第二個問題呢。我仍然堅持在 – SPandya

+0

你讀過[問題鏈接](http://stackoverflow.com/questions/14712143/show-week-numbers-in-aspcalendar)我引用,它有一個完整的源代碼示例。 – Damon

相關問題