新手求助,帮忙解释几段代码!!!!!!!!!!!!!
下面一段代码有几处不太理解的地方,帮忙解释一下。我在四个问题在下面代码中的注解中给出来了,麻烦帮忙一一解答一下。希望能尽量联系“上下文”解释代码的意思,谢谢。<%@ Page Language="C#" ValidateRequest="false" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
DataView schedule = new DataView();
void Page_Load()
{
if (calSchedule.SelectedDate == DateTime.MinValue)
//calSchedule.SelectedDate == DateTime.MinValue 是什么意思?
calSchedule.SelectedDate = calSchedule.TodaysDate;
}
void Page_PreRender()
{
schedule = (DataView)srcCalendar.Select(DataSourceSelectArguments.Empty);
schedule.Sort = "EntryDate";
} //这个函数看不懂,详细解释一下咯?
protected void calSchedule_DayRender(object sender, DayRenderEventArgs e)
{
if (schedule.FindRows(e.Day.Date).Length > 0)
e.Cell.BackColor = System.Drawing.Color.Yellow;
} //这个函数也看不懂,详细解释一下咯?
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Calendar Database</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Calendar
id="calSchedule"
OnDayRender="calSchedule_DayRender"
Runat="server" />
<br />
<asp:FormView
id="frmSchedule"
AllowPaging="True"
DataKeyNames="EntryDate"
DataSourceID="srcSchedule"
Runat="server">
<EmptyDataTemplate>
<asp:LinkButton
id="btnNew"
Text="Add Entry"
CommandName="New"
Runat="server" />
<!-- 这里的CommandName="New",与其相关联的部分在哪?-->
</EmptyDataTemplate>
<ItemTemplate>
<h1><%# Eval("EntryDate", "{0:D}") %></h1>
<%# Eval("Entry") %>
<br /><br />
<asp:LinkButton
Id="btnEdit"
Text="Edit Entry"
CommandName="Edit"
Runat="server" />
<asp:LinkButton
Id="lnkDelete"
Text="Delete Entry"
CommandName="Delete"
OnClientClick="return confirm('Delete entry?');"
Runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:Label
id="lblEntry"
Text="Entry:"
AssociatedControlID="txtEntry"
Runat="server" />
<br />
<asp:TextBox
id="txtEntry"
Text='<%#Bind("Entry") %>'
TextMode="MultiLine"
Columns="40"
Rows="8"
Runat="server" />
<br />
<asp:LinkButton
id="btnUpdate"
Text="Update"
CommandName="Update"
Runat="server" />
</EditItemTemplate>
<InsertItemTemplate>
<asp:Label
id="lblEntry"
Text="Entry:"
AssociatedControlID="txtEntry"
Runat="server" />
<br />
<asp:TextBox
id="txtEntry"
Text='<%#Bind("Entry") %>'
TextMode="MultiLine"
Columns="40"
Rows="8"
Runat="server" />
<br />
<asp:Button
id="btnInsert"
Text="Insert"
CommandName="Insert"
Runat="server" />
</InsertItemTemplate>
</asp:FormView>
<asp:SqlDataSource
id="srcSchedule"
ConnectionString="Server=.\SQLExpress;Integrated Security=True;
AttachDbFileName=|DataDirectory|ScheduleDB.mdf;User Instance=True"
SelectCommand="SELECT EntryDate,Entry FROM Schedule WHERE EntryDate=@EntryDate"
InsertCommand="INSERT Schedule (EntryDate,Entry) VALUES (@EntryDate,@Entry)"
UpdateCommand="UPDATE Schedule SET Entry=@Entry WHERE EntryDate=@EntryDate"
DELETECommand="DELETE Schedule WHERE EntryDate=@EntryDate"
Runat="server">
<SelectParameters>
<asp:ControlParameter
Name="EntryDate"
ControlID="calSchedule"
PropertyName="SelectedDate" />
</SelectParameters>
<InsertParameters>
<asp:ControlParameter
Name="EntryDate"
ControlID="calSchedule"
PropertyName="SelectedDate" />
</InsertParameters>
</asp:SqlDataSource>
<asp:SqlDataSource
id="srcCalendar"
ConnectionString="Server=.\SQLExpress;Integrated Security=True;
AttachDbFileName=|DataDirectory|ScheduleDB.mdf;User Instance=True"
SelectCommand="SELECT EntryDate FROM Schedule"
Runat="server">
</asp:SqlDataSource>
</div>
</form>
</body>
</html>
--------------------编程问答-------------------- calSchedule.SelectedDate == DateTime.MinValue
判断 selectdate 是否等于 最小时间
第二个不知道
第三个 把单元格 背景颜色设为黄色
第四个 new 并不是实例化对像 而是 一个名字 方便在页面后台获取
说的不对的 请高手指教 --------------------编程问答-------------------- 第二个应该是绑定数据 排序 --------------------编程问答-------------------- if (calSchedule.SelectedDate == DateTime.MinValue)
//calSchedule.SelectedDate == DateTime.MinValue 是什么意思?
//当前选择的日期是否是最小的时期
calSchedule.SelectedDate = calSchedule.TodaysDate;
}
void Page_PreRender()
{
schedule = (DataView)srcCalendar.Select
(DataSourceSelectArguments.Empty);
schedule.Sort = "EntryDate";
}//页面呈现事件,动态修改排序schedule.Sort = "EntryDate";
protected void calSchedule_DayRender(object sender, DayRenderEventArgs
e)
{
if (schedule.FindRows(e.Day.Date).Length > 0)
e.Cell.BackColor = System.Drawing.Color.Yellow;
}
//如果有日期就把显示日期的单元格的背景颜色改成
System.Drawing.Color.Yellow;
<asp:LinkButton
id="btnNew"
Text="Add Entry"
CommandName="New"
Runat="server" />
<!-- 这里的CommandName="New",与其相关联的部分在哪?-->
//是控件的参数命令。关联的在后台
补充:.NET技术 , ASP.NET