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