诡异的问题,SqlDataSource报“数据源不支持排序”错误
诡异的问题,SqlDataSource报“数据源不支持排序”错误
数据表有三张,我用SqlDataSource直接帮定Gridview,写了很简单的下列帮定代码
protected void DropdownList_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropdownList.SelectedValue=="1")
{
SqlDataSource1.SelectCommand ="select * from 表1";
}
else if (DropdownList.SelectedValue=="2"){
SqlDataSource1.SelectCommand ="select * from 表2";
}
else if (DropdownList.SelectedValue=="3"){
SqlDataSource1.SelectCommand ="select * from 表3";
}
GridView1.DataSourceID = "SqlDataSource1";
GridView1.DataBind();
}
程序运行正常,页面会根据我的要求切换表1 表2 表3 的数据.
但是当我设置了 GridView1.AllowSorting="True"后,先排序再切换表就会发生如下错误,真是百思不得其解
数据源不支持排序。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NotSupportedException: 数据源不支持排序。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[NotSupportedException: 数据源不支持排序。]
System.Web.UI.DataSourceView.RaiseUnsupportedCapabilityError(DataSourceCapabilities capability) +2089785
System.Web.UI.DataSourceSelectArguments.RaiseUnsupportedCapabilitiesError(DataSourceView view) +2090627
System.Web.UI.WebControls.ReadOnlyDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +13
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +17
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +149
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
System.Web.UI.WebControls.GridView.DataBind() +4
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.GridView.OnPreRender(EventArgs e) +24
System.Web.UI.Control.PreRenderRecursiveInternal() +86
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2041
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.1433; ASP.NET 版本:2.0.50727.1433