2013-02-25 27 views
2

我有一個文本框和一個按鈕。 當我在文本框中輸入月份和年份(例如:2013年4月)並單擊該按鈕時,應該顯示該特定月份的自定義日曆。如何創建一個自定義日曆,只顯示按下按鈕的特定月份,而不顯示週六和週日?

注意:日曆中不會有周六或週日。日期只會在週一至週五。

它應該是一個使用C#的基於網絡的ASP.NET應用程序

我該如何做這個定製日曆? 提供實現上述功能的示例代碼。

+0

你要添加該日曆上的任何活動。?使用gridview很難做到。如果你需要更多的幫助,我可以幫助你在這個概念... – 2013-02-25 09:23:30

+0

當我進入一個月,例如說,2013年8月,在一個文本框中,並點擊一個按鈕,該特定月份的日曆應顯示爲沒有周六和週日。你怎麼做並不重要。請給我那個代碼來實現這個。 – Fahhad 2013-02-25 09:34:52

+0

我應該在早上9點更新代碼。新西蘭時間下午3點30分 – 2013-02-25 09:51:43

回答

4
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data; 

public partial class Default2 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    protected void Button1_Click(object sender, EventArgs e) 
    { 
    string month = txtMonth.Text;// should be in the format of Jan, Feb, Mar, Apr, etc... 
    int yearofMonth = Convert.ToInt32(txtYear.Text); 
    DateTime dateTime = Convert.ToDateTime("01-" + month + "-" + yearofMonth); 
    DataRow dr; 
    DataTable dt = new DataTable(); 
    dt.Columns.Add("Monday"); 
    dt.Columns.Add("Tuesday"); 
    dt.Columns.Add("Wednesday"); 
    dt.Columns.Add("Thursday"); 
    dt.Columns.Add("Friday"); 
    dr = dt.NewRow(); 
    for (int i = 0; i < DateTime.DaysInMonth(dateTime.Year, dateTime.Month); i += 1) 
    { 
     txtMonth.Text = Convert.ToDateTime(dateTime.AddDays(0)).ToString("dddd"); 
     if (Convert.ToDateTime(dateTime.AddDays(i)).ToString("dddd") == "Monday") 
     { 
      dr["Monday"] = i + 1; 
     } 
     if (dateTime.AddDays(i).ToString("dddd") == "Tuesday") 
     { 
      dr["Tuesday"] = i + 1; 
     } 
     if (dateTime.AddDays(i).ToString("dddd") == "Wednesday") 
     { 
      dr["Wednesday"] = i + 1; 

     } 
     if (dateTime.AddDays(i).ToString("dddd") == "Thursday") 
     { 
      dr["Thursday"] = i + 1; 
     } 
     if (dateTime.AddDays(i).ToString("dddd") == "Friday") 
     { 
      dr["Friday"] = i + 1; 
      dt.Rows.Add(dr); 
      dr = dt.NewRow(); 
      continue; 
     } 
     if (i == DateTime.DaysInMonth(dateTime.Year, dateTime.Month) - 1) 
     { 
      dt.Rows.Add(dr); 
      dr = dt.NewRow(); 

     } 

    } 

    GridView1.DataSource = dt; 
    GridView1.DataBind(); 

    } 
} 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

     <asp:TextBox ID="txtMonth" runat="server">Mon</asp:TextBox> 
     <asp:TextBox ID="txtYear" runat="server"></asp:TextBox> 
     <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> 
     <br /> 
     <br /> 
     <asp:GridView ID="GridView1" runat="server"> 
     </asp:GridView> 

    </div> 
    </form> 
</body> 
</html> 

感謝...

+0

感謝代碼,Felix!願上帝保佑你。 – Fahhad 2013-02-25 11:47:58

+0

真的很有幫助! – 2014-08-21 18:40:30

相關問題