当我尝试这个
protected void Grid_ViewSorting(Object sender, GridViewSortEventArgs e)
{
DataGrid myGrid = (DataGrid) sender;
DataTable datatable =(DataTable) myGrid.DataSource;
DataView dataView = datatable.DefaultView;
if(e.SortDirection.ToString() == "ASC")
{
dataView.Sort = e.SortExpression + "DESC";
} else
{
dataView.Sort = e.SortExpression + "ASC";
}
}
我收到错误消息msg invalidCastException未通过userCode处理
无法将类型为“ System.Web.UI.WebControls.GridView”的对象转换为“ System.Web.UI.Web.Contro.DataGrid”。
最佳答案
问题恰好是异常所说明的
DataGrid myGrid = (DataGrid) sender;
在这种情况下,
sender
的类型为GridView
,但是您尝试将其强制转换为DataGrid
。这是非法的,因此CLR引发异常。您需要考虑sender
类型为GridView
并进行相应处理。GridView myGrid = (GridView) sender;
关于c# - 用户代码未处理InvalidCastException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10093419/