C# 参数绑定-如果一个元素失败,则为空集合
我有这样的动作C# 参数绑定-如果一个元素失败,则为空集合,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我有这样的动作 public ActionResult Collection(List<int> keywordIds) { //Do some stuff here return View(); } 但是如果我有一个像 /List?keywordIds=6&keywordIds=2&keywordIds=2&keywordIds=All 似乎如果其中一个id的值不能被解析为int,那么我会得到一个空集合,
public ActionResult Collection(List<int> keywordIds)
{
//Do some stuff here
return View();
}
但是如果我有一个像
/List?keywordIds=6&keywordIds=2&keywordIds=2&keywordIds=All
似乎如果其中一个id的值不能被解析为int,那么我会得到一个空集合,而不是忽略该值
有没有办法忽略转换问题?因此,我希望在这两种情况下都能得到一个包含3个int的列表如果您编写自己的模型绑定器,就可以实现这一点。在我看来,创建一个
列表
并尝试转换控制器中的值可能更容易。。。或者,您可以添加第二个参数,仅用于All用例:publicActionResult集合(List关键字ID,bool All=false)
。然后你可以调用/List?keywordIds=6&keywordIds=2&keywordIds=2&all=true
。哇,我不知道你能这么做。即使用相同的NVP来形成阵列+1蒂尔。
/List?keywordIds=6&keywordIds=2&keywordIds=2&keywordIds=All