MVC контроллер с 2 параметрами для фильтрации - PullRequest
0 голосов
/ 20 марта 2019

Когда в URL передается слово "mens" (http://localhost:62498/Apparel/Mens),), оно отображает модель с мужской одеждой. На странице есть много элементов, которые я хотел бы отфильтровать. Мой вопрос: как я могу добавить другая строка запроса в URL, чтобы отфильтровать, какие конкретные элементы я хочу просмотреть? Например, если я хочу отфильтровать только элементы продажи, я хочу, чтобы URL обрабатывал модель для чего-то вроде http://localhost:3000/Apparel/Mens?type=Sale для отображения на мужская распродажа предметов.

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Я предпочитаю использовать Enum для типа.

if (type== EnumType.Sale){

}
else if (type == EnumType.Latest){

}
0 голосов
/ 20 марта 2019

«Mens» на самом деле не id, и я думаю, вам было бы полезно использовать маршрут атрибута, подобный следующему:

[HttpGet("[controller]/[action]/{category?}")]
public ActionResult Apparel(string category = "", [FromQuery] string type = "")

Он очень похож на маршрут по умолчанию MVC, но даетлучшее название для категории.[FromQuery] на type является необязательным, оно по умолчанию берет его из строки запроса.

Подробнее о маршрутах атрибутов: https://joonasw.net/view/attribute-routing-cheat-sheet-for-aspnet-core

...