У меня есть поисковая форма, для которой я хочу использовать короткие параметры строки запроса (например? q=value&s=whatever&c=blah) и я хотел бы использовать привязку модели MVC для получения тех параметров в мое действие контроллера.
Я могу создать тип, который зеркально отражает эти краткие названия, но у меня был бы тип, который имеет более разумные имена (например, q = Запрос, s = SortOrder, c = Сыр). Существует ли хороший простой способ, которым я могу сделать это, такое как атрибуты на моей модели?
Я знаю, что могу записать новый образцовый редактор связей для этого, но это чувствует себя подобно излишеству - я не делаю ничего сложного, просто использующие различные имена) - и чувствует себя неправильным, должно быть, внезапно придется быть вполне настолько явным.
Начиная с модели обязательная инфраструктура использует TypeDescriptors, я предполагаю, что мог указать пользовательский дескриптор типа на своей модели, которая возвращает свойства с различными именами, по-видимому, от атрибутов на самой модели - по крайней мере, это было бы применимо.
Так или иначе я надеялся, что кто-то уже сделал это?
Написать свою собственную подшивку модели - это излишне, но это способ сделать это. Привязка в MVC использует отражение, поэтому вам нужно совпадение 1: 1.
Другой способ - написать небольшой класс, в котором есть поля, которые выглядят так, как вы хотите, а затем привязать к нему представление.
Затем в вашем контроллере вы можете получить эти значения обычным способом привязки, а затем перенести эти (красивые) поля в другую модель, которая у вас есть.