当“男装”传递到URL(http://localhost:62498/Apparel/Mens)时,它会呈现带有男装的模特。页面上有很多项目,我想过滤。我的问题是,如何在URL中添加另一个查询字符串来过滤我想要查看的特定项目?例如,如果我只想过滤销售商品,我希望URL能够处理模型,例如http://localhost:3000/Apparel/Mens?type=Sale,以显示在男士的促销商品上。
“男士”并不是真正的身份证,我认为使用这样的属性路线对你有所帮助:
[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
我更喜欢使用Enum作为类型。
if (type== EnumType.Sale){
}
else if (type == EnumType.Latest){
}