そのため、グリッド列の並べ替えを処理するために多くのページで使用しているインターネットから「借用」した方法があります。
private string GetSortDirection(string column)
{
// By default, set the sort direction to ascending.
string sortDirection = "ASC";
// Retrieve the last column that was sorted.
string sortExpression = ViewState["SortExpression"] as string;
if (sortExpression != null)
{
// Check if the same column is being sorted.
// Otherwise, the default value can be returned.
if (sortExpression == column)
{
string lastDirection = ViewState["SortDirection"] as string;
if ((lastDirection != null) && (lastDirection == "ASC"))
{
sortDirection = "DESC";
}
}
}
// Save new values in ViewState.
ViewState["SortDirection"] = sortDirection;
ViewState["SortExpression"] = column;
return sortDirection;
}
これでうまく機能しますが、残念ながら、ビューステートを参照しているため、呼び出し元のすべてのページにコピーする必要があります。そのため、ヘルパークラスに移動して、代わりにセッション状態で保存したいのですが、ヘルパークラスでどちらの状態も参照できません。
ヘルプクラスからセッションにアクセスする方法はありますか?セッション状態を参照して渡すことはできますか?