#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. вы включили его? валидатор. Включено = верно;