質問

MVCCONTRIBグリッドのソートをすぐに使用すると、QueryStrings列と方向をURLに自動的に追加します。例えば:

www.mysite.com/listing?Column=Bedrooms&Direction=Ascending

これを手に入れるために、クエリストリング(列と方向)を下ろす方法はありますか?

www.mysite.com/listing?column=Bedrooms&direction=Ascending

MVCCONTRIBバージョン3でASP.NET MVC 3を使用しています。

役に立ちましたか?

解決

残念ながら、これらの値はハードコーディングされています MvcContrib.UI.Grid.HtmlTableGridRenderer<T> クラス:

// MvcContrib.UI.Grid.HtmlTableGridRenderer<T>
private RouteValueDictionary CreateRouteValuesForSortOptions(GridSortOptions sortOptions, string prefix)
{
    if (string.IsNullOrEmpty(prefix))
    {
        return new RouteValueDictionary(sortOptions);
    }
    return new RouteValueDictionary(new Dictionary<string, object>
    {
        {
            prefix + ".Column", 
            sortOptions.Column
        }, 
        {
            prefix + ".Direction", 
            sortOptions.Direction
        }
    });
}

CreateRouteValuesForSortOptions プライベートメソッドはによって呼び出されます RenderHeaderText 仮想保護された方法。したがって、小文字のパラメーター名が必要な場合は、1つの可能性がカスタムを書くことです GridRenderer<T>.

もう1つの可能性は、URLを小文字にするためのカスタムルートを作成することです。あなたはを見ることができます 次のブログ投稿 これは、アプリケーション内のすべてのURLを小文字にする方法を示していますが、ニーズに合わせて調整することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top