Прежде всего я уже видел это: Не включайте пустые параметры при отправке формы
Но в форме вы можете не только вводить, но и выбирать, например, и что если кто-тоJavascript отключен? Разве нет лучшего способа скрыть пустые параметры?
Допустим, у меня есть такая форма:
<form asp-controller="Vehicles" asp-action="Index" method="get" >
<p>
<select asp-for="Length" asp-items="Model.Lengths">
<option value="">All</option>
</select>
Brand: <input type="text" asp-for="Search">
<input type="submit" value="Filter" />
</p>
</form>
Теперь, если я выбрал длину в поле выбора и нажал фильтр, у меня естьэтот URL в окне браузера:
https://localhost:44358/Vehicles?Length=15&Search=
, но я хочу это:
https://localhost:44358/Vehicles?Length=15
или, если я только искал марку без указания длины, я хотел бы получить это:
https://localhost:44358/Vehicles?Search=Mercedes
Есть какой-нибудь вспомогательный тег, например, добавление в форму hide-empty="true"
или что-то в этом роде? Есть готовый элемент или просто решение этой простой проблемы?