Проблема фильтра флажка, когда ноль - PullRequest
1 голос
/ 11 февраля 2010

У меня есть массив флажков, и я пытаюсь их отфильтровать, но когда флажок не установлен, он генерирует исключение System.ArgumentNullException

public ActionResult UserEdit(string[] UsergroupIDs)
    {

      IEnumerable<Usergroup> userUsergroups = 
            UsergroupIDs.Where(x => x != "false")
                        .Select(x => (Usergroup)_ug.GetUsergroups(int.Parse(x)).FirstOrDefault());

Как мне изменить это?

/ M

1 Ответ

2 голосов
/ 11 февраля 2010

Первоначально установите значение в пустой список, затем измените его на результаты вашего запроса, если параметры не равны нулю. Или вы можете изменить свое представление, включив скрытые поля для каждого флажка, который имеет свойство по умолчанию (false), чтобы этот параметр никогда не был нулевым. Последнее - то, что делает вспомогательный метод Checkbox, поэтому его использование также решит вашу проблему. Еще лучше, делай и то, и другое.

public ActionResult UserEdit(string[] UsergroupIDs)
{

  IEnumerable<Usergroup> userUsergroups = new List<UserGroup>();

  if (UsergroupIDs != null)
  {
       userUsergroups = UsergroupIDs.Where(x => x != "false")
                                    .Select(x => (Usergroup)_ug.GetUsergroups(int.Parse(x)).FirstOrDefault());
  }

  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...