У меня есть форма ввода данных со многими текстовыми полями и некоторыми раскрывающимися списками для ввода данных пользователем.Когда пользователь выбирает «Местоположение» из выпадающего списка, он может нажать кнопку в верхней части формы, чтобы просмотреть всплывающее окно с более подробной информацией в соответствии с этим местоположением.Данные успешно автоматизируются при загрузке всплывающего окна, но когда пользователь пытается закрыть всплывающее окно и продолжить работу с главной формой, возникает необработанное исключение для system.InvalidOperationException.Ошибка, в частности, возникает из-за того, что «Коллекция, через которую я перечисляю, была изменена».Хотя я ничего не меняю, полагаю, что что-то за кулисами происходит, вот мой код для извлечения данных:
string postalCode;
string phone1;
string phone2;
string supervisor;
var ObjectContext = new ObjectContext();
var qry = (from i in ObjectContext.TableLocation
where i.LocationName == LocationValue
select i).ToList();
foreach (var data in qry)
{
postalCode = data.postalCode;
phone1 = data.phoneNumber1;
phone2 = data.phoneNumber2;
supervisor = data.supervisor
}
txtPostalCode.Text = postalCode;
txtPhone1.Text = Phone1;
txtPhone2.Text = Phone2;
txtSupervisor.Text = supervisor;
LocationValue связан с переменной Public, которую родительская форма заполняет чем угодно.выбрано в выпадающем списке местоположений:
public string CountyValue
{
get { return txtCountyName.Text; }
set { txtCountyName.Text = value; }
}
Есть ли лучший способ перечислить этот список значений и передать их в textbox.text?Я пытался все, чтобы исправить эту ошибку.
EDIT Также все мои столбцы базы данных являются Varchars, поэтому не было необходимости преобразовывать типы данных.
И я получаю только этоошибка при развертывании приложения через ClickOnce на клиентском ПК.