【问题标题】:ASP.NET validation issue - DropDownList being populated dynamically on clientASP.NET 验证问题 - DropDownList 在客户端动态填充
【发布时间】:2010-04-28 17:29:23
【问题描述】:

我在客户端使用 JS 填充 DropDownList 并使用 RequiredFieldValidator 进行验证。

这在客户端上运行良好,但 Page.IsValid 在服务器上始终返回 false。

这是因为所选值在第一次提供给页面时不在 DropDownList 中吗?

解决这个问题的最简单方法是什么? (我需要打开服务器验证)

【问题讨论】:

    标签: asp.net validation drop-down-menu


    【解决方案1】:

    这是因为选择的值 不在 DropDownList 中 首次投放到页面?

    是的。您可能会注意到,当您进行回发时,您的下拉列表将不包含任何项目,是的,这是因为您在客户端添加项目。您添加到客户端控件的任何项目对于服务器来说都是完全未知的。因此,您的服务器验证将始终失败,因为该字段是必需的。

    事实上,使用客户端脚本动态添加项目会触发 EventValidation 抱怨可能存在安全问题,您必须在 <%@ Page %> 指令中将 EnableEventValidation 设置为 false 才能发帖。

    解决这个问题的最好方法是

    1. 在服务器端生成您的项目,或

    2. 为此不使用服务器控件(使用常规的非 asp.net 选择列表)并通过查看发布的值在服务器上手动验证它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多