MvcContrib сетка строчных строк запроса сортировки - PullRequest
0 голосов
/ 10 сентября 2011

Когда вы используете сортировку сетки MvcContrib «из коробки», она автоматически добавляет столбец и направление строки запроса к вашему URL.Например:

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

Есть ли способ строчных строк запроса (столбец и направление), чтобы вы получили это:

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

Я использую ASP.NET MVC 3 сMvcContrib версия 3.

1 Ответ

0 голосов
/ 12 сентября 2011

К сожалению, эти значения жестко закодированы в классе 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.Поэтому, если вы хотите иметь имена параметров в нижнем регистре, одной из возможностей будет написать пользовательский GridRenderer<T>.

Другой вариант - написать собственный маршрут, чтобы сделать URL-адреса строчными.Вы можете взглянуть на следующий пост в блоге , который иллюстрирует, как сделать все URL-адреса в приложении строчными, но вы можете настроить его под свои нужды.

...