Asp.net 如何在ObjectDataSource上设置排序参数的DefaultValue

Asp.net 如何在ObjectDataSource上设置排序参数的DefaultValue,asp.net,gridview,objectdatasource,Asp.net,Gridview,Objectdatasource,我有一个带有AllowSorting=“True”的GridView,还有一个带有SortParameterName=“orderBy”,SelectMethod=“GetScheduledSurveys”和 <SelectParameters> <asp:Parameter Name="orderBy" Type="String" DefaultValue="SurveyDueDate" /> </SelectParameters> 当我第一次进入页面

我有一个带有
AllowSorting=“True”
的GridView,还有一个带有
SortParameterName=“orderBy”
SelectMethod=“GetScheduledSurveys”

<SelectParameters>
<asp:Parameter Name="orderBy" Type="String" DefaultValue="SurveyDueDate" />
</SelectParameters>


当我第一次进入页面时,“orderBy”SelectParameter的默认值不会传递给“GetScheduledSurveys”SelectMethod。它只有在我单击GridView中的标题时才会传入。如何让它在首次访问时使用默认值?

在将此数据传递到数据源之前(即,在存储过程或查询中对其排序),您没有对其进行排序,这有什么原因吗?如果没有,我建议在
Page\u Load
时在
Page.IsPostBack==false
上执行此操作。祝你好运

在将此数据传递到数据源(即在存储过程或查询中对其进行排序)之前,您没有对其进行排序,这有什么原因吗?如果没有,我建议在
Page\u Load
时在
Page.IsPostBack==false
上执行此操作。祝你好运

没有,就在我发布问题之后,我添加了if(String.IsNullOrEmpty(orderBy))orderBy=“SurveyDueDate”;进入我的“GetScheduledSurveys”选择方法。只是我很惊讶DefaultValue没有传入,我想知道在aspx中是否应该做些什么。@Hanlet Escaño我现在也面临着这个问题。我在SelectMethod中声明了一个默认排序字段,但是SelectMethod是一个我在许多不同数据源中重复使用的方法。有时,根据页面逻辑,我的数据源对排序有不同的要求。难道没有办法强制数据源传递sort参数吗?我不想在
Page\u Load
中使用
Control.DataBind()
手动执行。没有,而且在我发布问题之后,我添加了if(String.IsNullOrEmpty(orderBy))orderBy=“SurveyDueDate”;进入我的“GetScheduledSurveys”选择方法。只是我很惊讶DefaultValue没有传入,我想知道在aspx中是否应该做些什么。@Hanlet Escaño我现在也面临着这个问题。我在SelectMethod中声明了一个默认排序字段,但是SelectMethod是一个我在许多不同数据源中重复使用的方法。有时,根据页面逻辑,我的数据源对排序有不同的要求。难道没有办法强制数据源传递sort参数吗?我不想在
Page\u Load
中使用
Control.DataBind()
手动执行此操作。