当前位置:编程学习 > C#/ASP.NET >>

新手求助,帮忙解释几段代码!!!!!!!!!!!!!

下面一段代码有几处不太理解的地方,帮忙解释一下。我在四个问题在下面代码中的注解中给出来了,麻烦帮忙一一解答一下。希望能尽量联系“上下文”解释代码的意思,谢谢。

<%@ 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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,