Visual Studio .NET 2002SQL Server 2000.NET 1.0DBAVisual Studio .NET 2003.NET 1.1中级开发Visual StudioSQL ServerSQLWindows.NETASP.NETC#
在日历中突出显示重要日期






3.50/5 (12投票s)
2004年8月10日
1分钟阅读

158075

3704
在日历控件中突出显示重要日期。
引言
我们都熟悉 ASP.NET Calendar
控件。我们可以点击日期并将其突出显示。但是,一旦刷新页面,所选日期就会消失。不如创建一个能够记住您所选日期的简单应用程序呢?
创建一个简单的日历
要创建日历,只需从 VS.NET IDE 中通常位于左侧的工具箱中拖放 Calendar
控件即可。将 Calendar
控件拖到页面上后,可以通过右键单击它并选择“属性”,然后选择“自动格式化”来更改日历的外观。下图显示了一个突出显示当前日期的日历。
创建数据库表以存储选定的日期
在此示例中,我们还需要创建一个数据库。我在 SQL Server 2000 中创建了数据库。为了保持简单,我只创建了两个字段:一个是自动生成数字的 CalendarID
,另一个是 DateTime
。
Page_Load 事件代码
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
// Calls the Bind Method
BindData();
}
}
BindData 方法代码
public void BindData()
{
SqlCommand myCommand = new SqlCommand("SELECT CalDate FROM tblCal",
myConnection);
myCommand.CommandType = CommandType.Text;
// Opens a Database Connection
myConnection.Open();
// Execute DataReader
SqlDataReader dr = myCommand.ExecuteReader();
// Read DataReader till it reaches the end
while( dr.Read() == true )
{
// Assign the Calendar control dates
// already contained in the database
myCal.SelectedDates.Add((DateTime)dr.GetSqlDateTime(0));
}
// Close DataReader
dr.Close();
// Close database Connection
myConnection.Close();
}
标记测试日期按钮事件代码
private void Button1_Click(object sender, System.EventArgs e)
{
// Binds the Data on the page
BindData();
// Set the color of Selected Calendar Cells to Red
myCal.SelectedDayStyle.BackColor = System.Drawing.Color.Red;
SqlCommand myCommand = new SqlCommand("InsertDate",myConnection);
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add(new SqlParameter("@v_DateTime",SqlDbType.DateTime));
myCommand.Parameters["@v_DateTime"].Value = selectedDate;
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
}
一旦按下按钮,您的日历将显示如下图像,显示所选日期
第二次加载页面
您还可以更改页面第二次加载时的颜色,如以下图像所示,其中日历被第二次加载
感谢并享受编码!