验证 - Web用户控制

时间:2009-09-05 15:15:25

标签: asp.net web-controls

我不喜欢使用.NET中的日历,因此我希望有一个Web用户控件,包含3个下拉框,日,月,年。 [CODE DONE]

我希望能够调用此控件并使用开始年份和结束年份进行初始化,并且可以选择或不选择日期。 [CODE DONE]

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

然后在我的网页中,我希望能够看到该Web用户控件是否有效,我可以使用正常的.NET验证(关联一个必填字段),问题是我不知道知道将此代码放在何处并将其检索到网页上的验证控件。 [未完成代码]

我该怎么做?

2 个答案:

答案 0 :(得分:1)

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

(1)服务器端:您需要向您的类添加ValidationPropertyAttribute,因此验证framwework知道在验证时要查看的内容:

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

(2)要与客户端验证挂钩,您必须确保有一个与您的控件关联的输入标记。一种方法是渲染< input type =“hidden”>作为Web控件HTML的第一个子标记。验证框架将对此进行研究。剩下要做的事情是,每当你的一个下拉变化时,通过JavaScript设置这个隐藏字段。

这样,您可以配合现有的验证控件。如果您想要不同的验证方式,您应该查看CustomValidator。

答案 1 :(得分:0)

您希望使用CustomValidator控件。请参阅this tutorial,其中说明了如何使用客户端和服务器端版本的验证来实现它。