【问题标题】:How do ASP.net validation controls work?ASP.net 验证控件如何工作?
【发布时间】:2015-12-04 18:57:08
【问题描述】:

我对 ASP.net 中的客户端和服务器端验证感到困惑。

我知道客户端验证在客户端验证,asp.net validation controls 是服务器端控件。但是,如果我将它应用于任何服务器端控件,如<asp:textbox> 并应用RequiredFieldValidator,它会像客户端控件一样立即验证。所有其他 asp 验证控件立即验证,无需回发到服务器。

那么它如何在不回发到服务器的情况下工作呢?

【问题讨论】:

    标签: asp.net validation


    【解决方案1】:

    即使理论上 ASP.NET 服务器在服务器上进行验证,它们也会在客户端上进行验证。来自Microsoft's documentation

    如果用户正在使用支持动态 HTML 的浏览器 (DHTML),ASP.NET 验证控件可以使用 客户端脚本。因为控件可以提供即时反馈 无需往返服务器,页面的用户体验 被增强。

    在大多数情况下,您不必做任何 更改您的页面或验证控件以使用客户端 验证。控件自动检测浏览器是否支持 DHTML 并相应地执行它们的检查。客户端验证 使用与服务器端验证相同的错误显示机制。

    【讨论】:

      【解决方案2】:

      如果您在视图中使用 HTMLHelper,它将自动插入 javascript 验证,例如模型的 DataAnnotation。诸如Required、MaxLength 等的内容在客户端(并再次在服务器端)进行检查。

      【讨论】:

        猜你喜欢
        • 2015-04-21
        • 2011-02-22
        • 1970-01-01
        • 1970-01-01
        • 2011-02-24
        • 2017-08-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多