Question

Lorsque vous utilisez le tri par grille MvcContrib prêt à l'emploi, il ajoute automatiquement la colonne et la direction des chaînes de requête à votre URL.Par exemple:

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

Existe-t-il un moyen de minuscules les chaînes de requête (Colonne et Direction) pour obtenir ceci:

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

J'utilise ASP.NET MVC 3 avec MvcContrib version 3.

Était-ce utile?

La solution

Malheureusement, ces valeurs sont codées en dur dans la classe 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
        }
    });
}

La méthode privée CreateRouteValuesForSortOptions est appelée par la méthode virtual protected RenderHeaderText.Donc, si vous voulez avoir des noms de paramètres en minuscules, une possibilité serait d'écrire un GridRenderer<T> personnalisé.

Une autre possibilité est d'écrire une Route personnalisée pour rendre les URL en minuscules.Vous pouvez consulter le article de blog suivant qui illustre comment rendre toutes les URL d'une application en minuscules, mais vous pouvez l'ajuster à vos besoins.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top