asp.net – CompareValidator的间歇性错误 – ValueToCompare属
我有一个带有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.我使用调试器手动设置它,它工作正常.任何人都有任何明智的想法,为什么会发生这种情况? >我检查了代码 – 没有其他地方可以设置. 解决方法
此错误消息表示,在验证时刻,您的rangeValidator本身(不是您正在验证的控件)的ValueToCompare属性未设置.这可以是你写这行: If Not IsPostBack Then cmvDate.ValueToCompare = DateTime.Now.ToString("d") End If 不在Page_Init事件中. >将ValueToCompare的设置代码移动到Init event,同时删除对Postback的检查.>检查,在数据检查期间具有此属性的值(可能是,您应该删除对Not IsPostBack的检查).>在检查发生之前设置此属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在WCF项目中设置Web API
- asp.net – 如何传递单选按钮值来过滤数据
- asp.net-mvc-5 – 使用MVC属性路由的每个控制器的多个Route
- asp.net-mvc – 如何处理MVC中的页面流(特别是asp.net)
- asp.net-mvc – ASP.NET MVC Action被调用两次
- asp.net-mvc – 我应该在MVC应用程序中创建我的Entity Fram
- asp.net – 如何从ajax调用web api Controller
- asp.net-mvc – ASP.NET MVC Web API缓存控制头部没有发送响
- 在按钮执行回发之前触发的asp:按钮上添加jQuery click事件
- 带有声明性数据的Eval绑定ASP.NET
- AspNetCore MVC页面数据提交验证
- ASP.net WebAPI跨域调用问题的解决方法
- ASP.NET Cookie过期时间始终是1/1/0001 12:00 AM
- asp.net-mvc – Rotativa / Wkhtmltopdf图像无法
- .NET Core 2.0 Autofac注册类InstancePerRequest
- asp.net-core – CoreCLR中的哈希算法
- 是否使用ASP.NET配置文件?
- asp.net下创建、查询、修改带名称空间的 XML 文件
- asp.net – System.Net.Mail新MailMessage随机发
- asp.net-mvc – MVC – 更改下拉列表中的默认文本