Обязательный валидатор полей не работает для выпадающего списка в управлении повторителем

#c# #asp.net #webforms #repeater

Вопрос:

У меня есть выпадающий список в ретрансляторе. Я пытаюсь добавить в него обязательный валидатор полей.

Код aspx является:

 lt;asp:Repeater ID="myRepeter" runat="server" OnItemDataBound="myRepeter_ItemDataBound"gt;  lt;ItemTemplategt;  lt;asp:DropDownList ID="ddl_Name" runat="server" DataTextField="value" DataValueField="key" gt;lt;/asp:DropDownListgt;   lt;asp:RequiredFieldValidator ID="rfv_Name" ControlToValidate="ddl_Name" InitialValue="0" runat="server" ErrorMessage="Please select a Name" ValidationGroup="valgrp_Name" ForeColor="Red"gt;lt;/asp:RequiredFieldValidatorgt;  lt;/ItemTemplategt; lt;/asp:Repeatergt;  

Я также попробовал то же самое из кода позади:

 protected void myRepeter_ItemDataBound(object sender, RepeaterItemEventArgs e) {  foreach(RepeaterItem item in myRepeter.Items)  {  DropDownList NametList = item.FindControl("ddl_Name") as DropDownList;   RequiredFieldValidator validator = item.FindControl("rfv_Name") as RequiredFieldValidator;    validator.ControlToValidate = NametList .ID;  validator.ValidationGroup = "valgrp_Name";  } }  

Как я могу добавить необходимый валидатор полей?

Комментарии:

1. Для меня это время, но в раскрывающемся списке его нет CausesValidation="true" . Пожалуйста, попробуйте это и дайте мне знать.

Ответ №1:

Почему вы просматриваете свой ретранслятор внутри события с привязкой к базе данных? Он автоматически замкнется. Попробуйте использовать e.Item.Вместо этого найдите управление.

 DropDownList NametList = e.Item.FindControl("ddl_Name") as DropDownList;   RequiredFieldValidator validator = e.Item.FindControl("rfv_Name") as RequiredFieldValidator;   validator.ControlToValidate = NametList.ID;  validator.ValidationGroup = "valgrp_Name";  

Комментарии:

1. Все еще не работает

2. вы включили его? валидатор. Включено = верно;