Это один из старых вопросов, неактивных в течение многих лет, но я наткнулся на него.Моя проблема заключалась в том, что у меня есть массив флажков - скажем, имя IsValid, и я хотел получить статус каждого флажка (мой проект был в MVC 5).При отправке формы я выполнил цикл сбора формы и получил значения как ...
if (key.Contains("IsValid"))
sV = (string[])collection.GetValue(key.ToString()).RawValue;
Так как при публикации формы значение скрытого поля также было размещено с установленными флажками;массив содержал одно дополнительное значение «ложь» только для установленного флажка.Чтобы избавиться от них, я использовал следующую функцию;Я надеюсь, что это кому-то поможет, и если мой подход неправильный, тогда мне будет полезно и лучшее решение!
sV = FixCheckBoxValue(sV);
private string[] FixCheckBoxValue(string[] sV)
{
var iArrayList = new List<string>(sV);
for (int i = 0; i < iArrayList.Count; i++)
{
if (iArrayList[i].ToString() == "true")
{
iArrayList.RemoveAt(i + 1);
}
}
return iArrayList.ToArray();
}