Это скорее открытый вопрос. Как вы оцениваете строки запроса в URL-адресе? При создании сайтов в ASP.NET MVC вы много времени размышляете и разрабатываете чистые URL-адреса только для того, чтобы их разбивали при первом использовании строк запроса, особенно в форме поиска.Очистка строк запроса
Например, недавно я сделал довольно простую форму поиска с полдюжиной текстового поля и двумя или тремя списками флажков и выборами. Это привело к тому, что строка запроса была ниже, если она была отправлена
countrylcid=2057&State=England&StateId=46&Where=&DateFrom=&DateTo=&Tags=&Keywords=&Types
=1&Types=0&Types=2&Types=3&Types=4&Types=5&Costs=0.0-9.99&Costs=10.00-29.99&Costs=30.00-59.99&Costs=60.00-10000.00
Прекрасно, я думаю, вы согласитесь. Половина полей не содержала в них никакой информации, и входы списка очень подробные.
Некоторое время назад я реализовал простое решение этой проблемы для пейджинга, который произвел URL, такие как
www.yourdomain.com/browse/filter-on/page-1/perpage-50/
Это используется маршрут приема всей захватить то, что по сути является замена строки запроса после части фильтра-на. Работает неплохо, но ломается при оформлении форм.
Удостоверьтесь, чтобы узнать, какие другие решения люди придумали? Существует множество статей по чистым URL-адресам, но они нацелены на разработчиков asp.net, создающих базовые успокоительные URL-адреса, которые охватил MVC. Я в два раза рассматриваю возможность погружения в привязку к модели для создания правильного решения по этим направлениям. В соответствии с вышеприведенной конвенцией большую строку запроса можно было бы переписать как:
filter-on/countrylcid-2057/state-England/stateId-46/types-{1,0,2,3,4,5}/costs-{0.0-9.99,10.00-29.99,30.00-59.99,60.00-10000.00}/
Это стоит усилий?
Спасибо,
«довольно простая форма поиска с полдюжины текстового поля и двух или трех списках флажков и выбирает.» Форма поиска Google «довольно проста». Это сложно. Это нормально, если он создает сложный URI, в данных обстоятельствах. –