これは未解決の問題です。URL のクエリ文字列についてどう思いますか? ASP.NET MVC でサイトを作成している間、特に検索フォームでクエリ文字列を最初に使用する必要があるときにのみ、きれいな URL を考えて作成することに多くの時間を費やします。
たとえば、私は最近、半ダースのテキスト フィールドと 2 つまたは 3 つのチェックボックスと選択項目のリストを備えたかなり単純な検索フォームを作成しました。これにより、送信時に以下のクエリ文字列が生成されました
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 に関する記事はたくさんありますが、MVC がカバーしている基本的な安らかな URL を作成する asp.net 開発者を対象としています。私はモデルバインディングに飛び込んで、それらの線に沿って適切なソリューションを作成することを半分検討しています。上記の規則を使用すると、大きなクエリ文字列は次のように書き直すことができます。
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}/
これは努力する価値がありますか?
ありがとう、