【问题标题】:Validate - Web User Control验证 - Web 用户控制
【发布时间】:2009-09-05 15:15:24
【问题描述】:

我不喜欢使用 .NET 的日历,所以我想要一个带有 3 个下拉框的 Web 用户控件,日、月、年。 [代码完成].

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

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

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

我该怎么做?

【问题讨论】:

    标签: asp.net web-controls


    【解决方案1】:

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

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

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

    (2) 要连接客户端验证,您必须确保有一个输入标签与您的控件相关联。一种方法是将 呈现为 Web 控件 HTML 的第一个子标记。验证框架将接受这一点。剩下要做的就是在每次下拉菜单更改时通过 JavaScript 设置此隐藏字段。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • CustomValidator 需要写在我的网页中,这意味着如果我在许多页面中使用我的“日历 Web 用户控件”,那么我需要在代码周围编写 CustomValidator。这不是我要找的。我希望能够将必填字段验证器与我的 Web 用户控件相关联。必要的代码保留在用户控件中。
      猜你喜欢
      • 2010-09-26
      • 1970-01-01
      • 2011-04-18
      • 2011-09-20
      • 2015-09-06
      • 1970-01-01
      • 2011-02-26
      • 2015-04-25
      • 1970-01-01
      相关资源
      最近更新 更多