gpt4 book ai didi

asp.net - CompareValidator 出现间歇性错误 - ValueToCompare 属性为 ""

转载 作者:行者123 更新时间:2023-12-02 14:24:57 26 4
gpt4 key购买 nike

我有一个带有 CompareValidator 的页面:

<asp:textbox id="txtResponseDate" runat="server" />
<asp:requiredfieldvalidator id="rfvResponseDate" runat="server"
controltovalidate="txtResponseDate"
display="Dynamic"
errormessage="Date is required."
setfocusonerror="true">
</asp:requiredfieldvalidator>
<asp:comparevalidator id="cmvDate" runat="server"
controltovalidate="txtResponseDate"
display="Dynamic"
errormessage="Date must not be before today."
operator="GreaterThanEqual"
setfocusonerror="true"
type="Date">
</asp:comparevalidator>

在后面的代码中,我们设置 ValueToCompare 属性,如下所示:

If Not IsPostBack Then

cmvDate.ValueToCompare = DateTime.Now.ToString("d")

End If

间歇性地(我们无法辨别模式),我们会收到以下错误:

“‘cmvDate’的 ValueToCompare 属性的值‘’无法转换为‘Date’类型。”

调用堆栈为:

at System.Web.UI.WebControls.CompareValidator.ControlPropertiesValid() 
at System.Web.UI.WebControls.BaseValidator.get_PropertiesValid()
at System.Web.UI.WebControls.BaseValidator.Validate()
at System.Web.UI.Page.Validate()
at System.Web.UI.Page.Validate(String validationGroup)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)

我的第一个想法是日期格式有些奇怪,但我们使用的是英国日期,最后一个错误是在 7 月 18 日,因此 ValueToCompare 设置为 18/07/2011。我已经使用调试器手动设置了它,并且效果很好。有人对为什么会发生这种情况有什么好主意吗?

  1. 我已经检查了代码 - 没有其他地方可以设置此设置。
  2. 使用调试器,我在回发时进行了双重检查,正如预期的那样,该属性值被保留。

最佳答案

The value '' of the ValueToCompare property of 'cmvDate' cannot be converted to type 'Date'.

此错误消息表示,在验证时,您的 rangeValidator 本身(而不是您正在验证的控件)的属性 ValueToCompare 未设置。如果您写了以下几行,则可能是这样:

If Not IsPostBack Then
cmvDate.ValueToCompare = DateTime.Now.ToString("d")
End If

不在 Page_Init 事件中。

  1. 将设置ValueToCompare的代码移至Init event ,并删除对回发的检查。
  2. 检查数据检查期间此属性的值是什么(可能是,您应该删除对 Not IsPostBack 的检查)。
  3. 在进行检查之前设置此属性。

关于asp.net - CompareValidator 出现间歇性错误 - ValueToCompare 属性为 "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6746115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com