#c# #asp.net #requiredfieldvalidator
#c# #asp.net #requiredfieldvalidator
Вопрос:
Я создаю страницу сбора данных с выпадающими списками, которые динамически заполняются из базы данных. Я добавил средства проверки обязательных полей, но они не запускаются, предположительно потому, что средство проверки считает, что выбрано первое поле. Есть ли способ обойти эту проблему?
Я попробовал следующее, но получаю ошибку:
Объекту не присвоен экземпляр объекта (что-то вроде этого)
Вот мой код (в верхней части события загрузки страницы)
if (!IsPostBack)
{
dropList.SelectedItem.Value = "";
}
Спасибо!
Ответ №1:
Не видя вашего кода, я бы первым делом предположил, что в ваших проверках обязательных полей может отсутствовать поле IntitialValue, например, если начальное значение вашего выпадающего списка было чем-то вроде «Пожалуйста, выберите опцию», тогда ваш средство проверки обязательных полей может выглядеть следующим образом:
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" Display="Dynamic" ControlToValidate="ddlProvince" InitialValue="Please Choose an option"></asp:RequiredFieldValidator>
Если вы уже сделали это, то, я думаю, дополнительная информация — возможно, еще немного кода — может быть полезна для понимания того, что происходит.
Ответ №2:
Установите начальное значение равным 0, оно отлично работает.
Ответ №3:
Перед этим :dropList.SelectedItem.Value = "";
следует проверить, является ли ddl пустым или нет. В противном случае будет выдана ошибка 'Object not set to instance of an object'