Tshumore Ответов: 1

Как устранить ошибку "не удается преобразовать char в int"


У меня есть ListBoxFor, где мне нужно получить все выбранные значения. Выбранные значения находятся в строковом массиве вида :
строка commaDelimited = "mihr20, emp1004, fbc567,mihr01";.
Теперь, когда я пытаюсь разделить отдельные элементы между запятыми, я получаю исключение приведения типов "Не удается преобразовать Char в int" Мне нужно извлечь значения, чтобы :

mihr20 emp1004 fbc567 mihr01

В контроллере у меня есть :

request.EmployeeNumber = new string[] { Convert.ToString(formcollection["EmployeeNumber"]) };
 string[] employees =request.EmployeeNumber.Split(new char[] { ',' });
if (ModelState.IsValid)
                {
                    foreach (string emp in employees)
                    {
					...save the selected employees
					}
					
					}



А модель как
[Required]
       [Display(Name = "Employee ")]
       public string[] EmployeeNumber { get; set; }
       public Employee Employee { get; set; }
       public String DisplayName { get; set; }
       public IEnumerable<SelectListItem> employees { get; set; }


Что я уже пробовал:

Я попытался, как показано ниже, но в базе данных он сохраняет единую систему ценностей.String[] вместо всех значений

var employeees = request.EmployeeNumber.ToString();
 string[] employees =employeees.Split(new char[] { ',' });

1 Ответов

Рейтинг:
7

Richard MacCutchan

Это похоже на ту же проблему, что и в вашем предыдущем вопросе по адресу Как устранить ошибку "не удается неявно преобразовать тип "строка" в строку[][^]. Вам нужно понять разницу между string, которая представляет собой единственную строку символов, а string[], который представляет собой массив string объекты.
Что касается вашей проблемы здесь, вы не объяснили, какая строка кода создает сообщение об ошибке выше.