从文本框绑定参数DateTime的Gridview在排序时抛出DateTimeException
本文关键字:排序 DateTimeException Gridview 文本 绑定 参数 DateTime | 更新日期: 2023-09-27 18:12:15
我的ASP有问题。显示数据表格。
GridView设置为通过SqlDataSource从存储过程检索行。Gridview有一个BoundField,它填充来自ASP的存储过程的DateTime参数。. NET文本框。
当我输入一个无效的日期时间到ASP。. NET文本框,然后单击GridView的任何一列进行排序,GridView会在PreRender事件中抛出FormatException: "invalid character at position 0"
我如何拦截或阻止用户排序GridView而文本框中有一个无效的日期时间?
我已经尝试过表单验证器,但看起来那些不把GridView点击考虑在内。我的一个想法是手动执行数据绑定和排序,这样我就可以停止正在进行的错误排序。任何想法吗?
我通过扩展文本框来解决这个问题。OnTextChanged事件如下:
protected void tbTo_TextChanged(object sender, EventArgs e)
{
DateTime temp;
if(DateTime.TryParse(tbTo.Text,out temp)==false)
{
tbTo.Text = "";
}
}
在GridView排序之前触发!问题解决了。