mrb.ascx.cs
来自「C#高级编程第6版随书源代码 值得下载」· CS 代码 · 共 136 行
CS
136 行
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class MRB : System.Web.UI.UserControl
{
private DataView eventData;
private DataView EventData
{
get
{
if (eventData == null)
{
eventData = MRBEventData.Select(new DataSourceSelectArguments()) as DataView;
}
return eventData;
}
set
{
eventData = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
nameBox.Text = Context.User.Identity.Name;
DateTime trialDate = DateTime.Now;
calendar.SelectedDate = GetFreeDate(trialDate);
}
}
protected void submitButton_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach (ListItem attendee in attendeeList.Items)
{
if (attendee.Selected)
{
sb.AppendFormat("{0} ({1}), ", attendee.Text, attendee.Value);
}
}
sb.AppendFormat(" and {0}", nameBox.Text);
string attendees = sb.ToString();
try
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["MRBConnectionString"].ConnectionString);
System.Data.SqlClient.SqlCommand insertCommand = new System.Data.SqlClient.SqlCommand("INSERT INTO [Events] (Name, Room, AttendeeList, EventDate) VALUES (@Name, @Room, @AttendeeList, @EventDate)", conn);
insertCommand.Parameters.Add("Name", SqlDbType.VarChar, 255).Value = eventBox.Text;
insertCommand.Parameters.Add("Room", SqlDbType.Int, 4).Value = roomList.SelectedValue;
insertCommand.Parameters.Add("AttendeeList", SqlDbType.Text, 16).Value = attendees;
insertCommand.Parameters.Add("EventDate", SqlDbType.DateTime, 8).Value = calendar.SelectedDate;
conn.Open();
int queryResult = insertCommand.ExecuteNonQuery();
conn.Close();
if (queryResult == 1)
{
EventData = null;
calendar.SelectedDate =
GetFreeDate(calendar.SelectedDate.AddDays(1));
EventList.DataBind();
}
else
{
throw new System.Data.DataException("Unknown data error.");
}
}
catch
{
}
}
}
private System.DateTime GetFreeDate(System.DateTime trialDate)
{
if (EventData.Count > 0)
{
System.DateTime testDate;
bool trialDateOK = false;
while (!trialDateOK)
{
trialDateOK = true;
foreach (DataRowView testRow in EventData)
{
testDate = (System.DateTime)testRow["EventDate"];
if (testDate.Date == trialDate.Date)
{
trialDateOK = false;
trialDate = trialDate.AddDays(1);
}
}
}
}
return trialDate;
}
protected void calendar_SelectionChanged(object sender, EventArgs e)
{
System.DateTime trialDate = calendar.SelectedDate;
calendar.SelectedDate = GetFreeDate(trialDate);
}
protected void calendar_DayRender(object sender, DayRenderEventArgs e)
{
if (EventData.Count > 0)
{
System.DateTime testDate;
foreach (DataRowView testRow in EventData)
{
testDate = (System.DateTime)testRow["EventDate"];
if (testDate.Date == e.Day.Date)
{
e.Cell.BackColor = System.Drawing.Color.Red;
}
}
}
}
protected void EventList_SelectedIndexChanged(object sender, EventArgs e)
{
EventList.DataBind();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?