2011-11-23 61 views
1

我有AllowSorting="True"一個GridView,和我有SortParameterName="orderBy"SelectMethod="GetScheduledSurveys"如何設置排序參數的默認值上一個ObjectDataSource

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

一個ObjectDataSource當我第一次去的頁面,將默認值了「 orderBy「SelectParameter不傳遞給」GetScheduledSurveys「SelectMethod。它只在我點擊GridView中的標題時才被傳入。我如何在首次訪問時使用默認值?

回答

1

在將數據傳遞給數據源之前,您沒有對這些數據進行排序(例如,在您的存儲過程或查詢中對其進行排序)嗎?如果沒有,我會建議在Page_Load上做Page.IsPostBack==false。祝你好運!

+0

有沒有和剛發佈後我添加的問題if(String.IsNullOrEmpty(orderBy))orderBy =「SurveyDueDate」;進入我的「GetScheduledSurveys」SelectMethod。只是我很驚訝DefaultValue沒有被傳入,我想知道我是否應該在aspx中做些什麼。 – Colin

+0

@HanletEscaño我也是,現在正面臨這個問題。我在我的SelectMethod中聲明瞭一個默認的排序字段,但SelectMethod是一個我可以在許多不同的數據源中重複使用的方法。有時我的數據源對排序有不同的要求,具體取決於我的頁面邏輯。沒有辦法強制數據源傳遞排序參數嗎?我寧願不必在'Page_Load'中使用'Control.DataBind()'手動執行。 –

相關問題