已经准备好使用DatePicker自定义控件

分享于 

6分钟阅读

Web开发

  繁體

示例图像- datepickercustomcontrol.jpg

介绍

Nikita的文章。 Sinelnikoff 和人员的源代码。 Roche启发我将 DatePicker 封装在。 NET自定义控件。

另外,尼基塔的源代码包含一些错误,我还有一些有用的扩展思想。

Bug 和扩展代码的修复

  • 如果单击"下周"按钮,在JavaScript中有一个缺少的对象。 我发现函数 getDaysInMonth 不存在。
  • span 标记的动态定位问题。
  • 我用一些漂亮的颜色扩展了代码。 在这个连接中,我认为 Highlight的实际日期是一个好主意。
  • 在输入字段中添加了检查函数,如果用户手动输入日期,则检查输入是否正确。
  • 我扩展了多语言支持课程。
  • 我把所有的函数封装在一个用 VB.NET. 编写的自定义控件中

如何使用

有使用该控件的步骤:

  • 如果需要多语言支持,请修改 DatePickerDynObject.GetLabels 方法。 我不能在真正的产品环境中发布我使用的翻译组件 ! 也许我的文章生成多语言网站非常容易,可以帮助你。
  • 在解决方案 bin文件夹and文件夹 and/或者创建. NET 引用中复制。
  • 将 Images and和文件夹复制到项目文件夹。
  • 在 aspx或者 ascx 文件中,附加一行以发布控件,如下面所示:
  • <%@RegisterTagPrefix="DP"NameSpace="MyOwnWebControls"Assembly="MyOwnWebControls"%>
  • 在 aspx file文件中创建一个对象,如下所示:
  • <DP:MyOwnWebControls.DatePickerControlid="DP_whatever_date"Width="100px"RelPath="../"runat="server"></DP:MyOwnWebControls.DatePickerControl>
  • 在以下代码中创建服务器端变量:
  • Protected DP_whatever_date As MyOwnWebControls.MyOwnWebControls.DatePickerControl

属性说明

自定义控件支持以下属性:

属性类型描述
Text字符串DatePicker编辑字段的内容。
RelPath字符串。/DatePicker图像位置的相对路径,从包含DatePicker对象的页面开始。
Tooltip字符串工具提示。
Width字符串64px宽度,单位为像素。
CheckFunc字符串CheckDatePickerDate用于检查用户输入的JS函数。 你可以编写自己的CheckMethod 进行专门检查。 JS函数必须只有一个参数( 对象 ID ) 并返回 true / false
Disabled布尔型false确定是否为只读控件

特殊使用模式

我们公司经常使用后面的代码生成一些HTML对象,并将这个文本文本放在一个 PlaceHolder 中,并将它的放入一个。 DatePicker也支持这里特性。 这意味着,你可以使用内部 DatePickerDynObject 类,并调用 GenerateDatePicker 方法来生成用于 LiteralControl的核心HTML流。 下面是一些示例代码:

Dim oDP AsNew TXTChainWebControls.DatePickerDynObjectDim oLiteral as LiteralControl
oLiteral = new LiteralControl (oDP.GenerateDatePicker(Me, Session, _
 "DP_whatever_date", "24.12.2006", "../"))

这里方法支持以下参数:

参数类型描述
PageByRef System.Web. UI.Page打开DatePicker的页面。
oSessionByRef作为 System.Web.SessionState。HttpSessionState活动会话对象。
id字符串对象的ID。
value字符串活动日期。
RelPath字符串。/从页面到with对象从页面开始的相对路径的相对路径。
Tooltip可选字符串工具提示。
Width可选字符串64px宽度,单位为像素。
bVisible可选布尔值true能见度。
bDisabled可选布尔值false确定是否为只读控件。
CheckFunc可选字符串CheckDatePickerDate用于检查用户输入的JS函数。 你可以编写自己的CheckMethod 进行专门检查。 JS函数必须只有一个参数( 对象 ID ),并且返回 true / false

历史记录

  • 1 - 固定。
    • 用 static 列表框(。动态创建的列表框不支持 z-order ) 解决覆盖问题。
  • 22.09.2006 - 初始版本。