MVC控制器有2个参数用于过滤

问题描述 投票:0回答:2

当“男装”传递到URL(http://localhost:62498/Apparel/Mens)时,它会呈现带有男装的模特。页面上有很多项目,我想过滤。我的问题是,如何在URL中添加另一个查询字符串来过滤我想要查看的特定项目?例如,如果我只想过滤销售商品,我希望URL能够处理模型,例如http://localhost:3000/Apparel/Mens?type=Sale,以显示在男士的促销商品上。

c# asp.net-mvc controller asp.net-mvc-viewmodel
2个回答
0
投票

“男士”并不是真正的身份证,我认为使用这样的属性路线对你有所帮助:

[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


0
投票

我更喜欢使用Enum作为类型。

if (type== EnumType.Sale){

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

}
© www.soinside.com 2019 - 2024. All rights reserved.