MvcContrib grille de tri des chaînes de requêtes en minuscules
-
28-10-2019 - |
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.
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.