【问题标题】:2 DetailsView validation conflict problem2 DetailsView验证冲突问题
【发布时间】:2009-09-25 16:56:58
【问题描述】:

我有 2 个详细信息视图。
第一个使用 DefaultMode=Insert 隐藏(显示:none),具有RequiredFieldValidator

 <asp:RequiredFieldValidator ID="valRequireAddedBy" runat="server" 
     ControlToValidate="txtAddedBy" SetFocusOnError="true" 
     Text="Your name is required."  Display="Dynamic">
 </asp:RequiredFieldValidator>   

第二个,处于编辑模式。
当我尝试提交时出现错误:

htmlfile: 无法将焦点移到 控制,因为它是不可见的,而不是 启用,或类型不 接受焦点。

只有当我从第一个 DetailsView 中删除验证器时它才有效。

【问题讨论】:

  • 请发布您的 EditMode DetailsView 的代码,这可能会有所帮助

标签: asp.net


【解决方案1】:

您能否使用验证器上的ValidationGroup 属性来创建两个组,每个组一个DetailsView?我不确定您是如何触发在每种情况下导致验证的事件,所以我不知道您是否可以将 ValidationGroup 与触发控件相关联...

【讨论】:

  • 我在页面上没有任何验证组,所以会尝试添加它们。
  • 如果模板中有按钮(例如,它不是自动生成的),请将其 CausesValidation 属性设置为 false
  • @rm,我有按钮。我应该在哪个 DetailsView 中设置它?在第二?两者都有?
  • @dani:无论您点击什么按钮导致错误,都应将其 CasesValidation 设置为 false。
【解决方案2】:

在第二个 DetailsView 中,将 CausesValidation 属性设置为 false

这样您的“EditMode”详细信息视图不会导致验证触发

我猜 DetailsView 没有公开 CausesValidation 属性,您必须在 DetailsView.UpdateItem event 上处理它

【讨论】:

  • DetailsView 中没有 CausesValidation 属性。
猜你喜欢
  • 1970-01-01
  • 2021-04-11
  • 1970-01-01
  • 2020-10-05
  • 2012-09-08
  • 2016-04-06
  • 2017-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多