2009-09-05 56 views
0

我不喜欢使用.NET中的日历,所以我想要有一个Web用户控件和3个下拉框,日,月,年。 [CODE DONE]验证 - 网页用户控件

我希望能够调用此控件,并将其初始化为开始年份和结束年份,以及是否带有选定的日期。 [CODE DONE]

该控件将查看是否有一个有效的日期选择并返回bool [CODE DONE]

然后在我的网页中,我想能够看到该网页用户控件是否有效,并且可以使用正常的.NET验证(关联一个必填字段),问题是我不能不知道将该代码放在哪里并将其检索到网页上的验证控件。 [CODE NOT DONE]

我怎样才能做到这一点?

回答

1

将自定义服务器控件与验证框架集成有两个步骤。

(1)服务器端:你需要一个ValidationPropertyAttribute添加到您的类,因此验证framwework知道要查找的验证时,在什么:

[ValidationProperty("SelectedDate")] 
public class MyDateControl : WebControl 
{ 
    public DateTime? SelectedDate { get { ... } set { ... } } 
} 

(2)与客户端挂钩验证,您必须确保输入标签与您的控件相关联。这样做的一种方法是将< input type =“hidden”>作为Web控件HTML的第一个子标记。验证框架将在此基础上提供。剩下的事情就是在每次下拉式更改时通过JavaScript设置隐藏字段。

这样,您可以配合现有的验证控件。如果你想用不同的方式来验证,你应该看看一个CustomValidator。

0

您想为此使用CustomValidator控件。请参阅this tutorial,它解释了如何使用验证的客户端和服务器端版本来实现它。

+0

CustomValidator需要写在我的网页里,这意味着如果我在很多页面中使用我的“日历Web用户控件”,那么我需要在代码中编写CustomValidator。这不是我正在寻找的。我希望能够将所需的字段验证程序与我的Web用户控件相关联。必要的代码保留在用户控件中。 – SmartStart 2009-09-05 15:30:04

+0

您可能想要编辑该问题以反映此问题。 – olle 2009-09-05 15:40:06