我有一个文本框,用户正在输入日期(行日期)。如果他们输入的日期大于相关日期(标题日期),我希望asp.net抛出错误。我试图动态地做这个,但是收到一个错误,说不能将数据类型转换为" date"。
ASP.NET代码(我在做验证的地方):
<asp:CompareValidator ID="valBidContractEnd" runat="server" Text="*"
ErrorMessage="Error: Bid End Date must be after the effective date of the bid." Type="Date"
Display="Dynamic" ValueToCompare='<%#Eval("ContractEndDate", "{0:d}")%>' ControlToValidate="dtEnd" Operator="GreaterThanEqual"/>
我正在阅读它所比较的日期,这在页面加载中被调用:
private void LoadContractInfo()
{
if (QSContractID.HasValue)
{
ContractData data = new ContractData();
using (IDataReader r = data.ContractGet(QSContractID.Value))
{
if (r.Read())
{
lblContractName.Text = r["ContractName"].ToStr();
lblContractRefNo.Text = r["ContractRefNo"].ToStr();
r["ContractEndDate"].ToDateTime();
}
}
}
}