首先给页面添加“ System.Globalization ”(定义区域性相关信息的类,这些信息包括日历等)和“ System.Threading ”(提供一些可以进行多线程编程的类和接口)两个命名空间。 在“ <script runat="server"> ”中定义“ MyCalendar_PreRende ”过程,代码如下所述。 Private Sub MyCalendar_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyCalendar.PreRender Dim dkwek = System.Threading.Thread.CurrentThread ' 引用当前线程 Dim dknew = System.Globalization.CultureInfo.CurrentCulture.Clone() ' 创作区域性副本 dknew.DateTimeFormat.DayNames = New String() {" 日 ", " 一 ", " 二 ", " 三 ", " 四 ", " 五 ", " 六 "}' 设星期显示为 String 数组 dknew.DateTimeFormat. FirstDayOfWeek = DayOfWeek. Sunday ' 设置星期的第一为星期天 dkwek.CurrentCulture = dknew ' 设线程的区域性系统区域性设置 End Sub 步骤三 日历事件的实现 ( 1 )添加数据集。添加数据集“ MyblogData ”,该数据集的设置如图 91-10 所示。添加数据集“ reverData ”,该数据集的设置如图 91-11 所示。
提示:数据集“ MyblogData ”是以字段“ myblogtm ”等于阶段变量“ myblogtm ”(即 Session(“myblogtm”) )作为筛选的,而数据集“ revertData ”是以字段“ myblogID ”等于变量“ myblogID ”作为筛选的,变量“ myblogID ”在这里只是临时设置,数据集“ revertData ”实际是以字段“ myblogID ”等于数据集“ MyblogData ”的字段“ myblogID ”值作为筛选的,这需要在后面的步骤里进行修改。 ( 2 )绑定数据集。绑定数据集“ MyblogData ”的相关字段到页面里如图 91-5 中圆角方框②所示的位置,绑定数据集“ revertData ”的相关字段到页面里如图 91-5 中圆角方框③所示的位置,结果如图 91-12 所示。
( 3 ) 设置【重复的区域】。绑定数据集“ revertData ”的相关字段到页面里如图 91-5 中圆角方框③所示的位置,然后执行【插入】 | 【应用程序对象】 | 【重复的区域】菜单命令。 ( 4 ) 切换到代码视图,找到数据集“ MyblogData ”的源代码,在其中找到代码 <Parameter Name="@myblogtm" Value='<%# IIf((Not Session("myblogtm") Is Nothing), Session ("myblogtm"), "") %>'Type="Date" /> 将其改为: <Parameter Name="@myblogtm" Value='<%# IIf((Not Session("myblogtm") Is Nothing), Session("myblogtm"), Today) %>' Type="Date" /> 提示:这样修改是为了当 Session("myblogtm") 为空值时,以当前的系统日期作为筛选数据。 [page_break] ( 5 ) 找到数据集“ revertData ”的源代码,在其中找到代码 <Parameter Name ="@myblogID" Value='<%# "myblogID" %>' Type="Integer" /> 。 切换到绑定面板,拖拉数据集“ MyblogData ”中的字段“ myblogID ”替换代码“ <%# "myblogID" %> ”,如图 91-13 所示。 |