【发布时间】:2009-09-01 11:03:45
【问题描述】:
我有一个以典型方式绑定到数据源的数据网格(为简洁起见):
<asp:SqlDataSource ID="ds" runat="server" ConnectionString="xxx"
ProviderName="yyy" SelectCommand="SELECT "a from A where date > ?">
<SelectParameters>
<asp:ControlParameter ControlID="txtDateFrom" Name="fromDate" PropertyName="Value" Type="DateTime"/>
</SelectParameters>
...
我还有一个关于 txtDateFrom 的自定义验证器
<asp:CustomValidator ID="fromDateCorrectVal" runat="server" ControlToValidate="txtDateFrom" ErrorMessage="From date is not valid" OnServerValidate="fromDateCorrectVal_ServerValidate" Display="None"/>
其中后面的代码是这样的:
protected void fromDateCorrectVal_ServerValidate(object source, ServerValidateEventArgs args)
{
DateTime parsedDate;
if (!DateTime.TryParse(tryDate, out parsedDate))
{
args.IsValid = false;
fromDateCorrectVal.ErrorMessage = "Invalid from date";
}
}
但这似乎不起作用!如果我在日期字段中输入垃圾,我会收到一个 ASP 错误 - 解析无效的日期标记。
如果验证失败,如何阻止 SQL 尝试触发? (我怀疑我需要在某些时候检查页面是否有效,但我在 datasource_Selecting 事件中尝试这个的努力似乎不起作用)
提前感谢您的帮助
瑞恩
【问题讨论】:
标签: .net asp.net validation