Member 9018012 Ответов: 4

Как заполнить второй выпадающий список без обратной передачи?


У меня есть много выпадающих списков и текстовых полей на одной странице. Я сделал валидацию текстовых полей. Каждый выпадающий список заполняет другой выпадающий список. Проблема в том, что все существующие сообщения проверки исчезают при срабатывании события selectedindexchanged. Как заполнить второй выпадающий список без обратной передачи?

4 Ответов

Рейтинг:
1

Dev parmar

установите группу проверки на элементе управления и кнопке проверки и используйте панель обновления для асинхронной привязки выпадающего списка к выбранному событию изменения другого выпадающего списка
используйте панель обновления, например
сначала объявить вашу страницу элемента управления scriptmanager

<asp:ScriptManager ID="ScriptManager1" runat="server">
   </asp:ScriptManager>

<asp:dropdownlist id="ddl1" runat="server" enableviewstate="False" >
</asp:dropdownlist>   
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
   <ContentTemplate>
          <asp:dropdownlist id="ddl2" runat="server" enableviewstate="False">
          </asp:dropdownlist>                                     
   </ContentTemplate>
   <Triggers>
   <asp:AsyncPostBackTrigger ControlID="ddl1" EventName="SelectedIndexChanged" />
   </Triggers>
</asp:UpdatePanel>


Рейтинг:
0

Manoj Sawant

привет,
вы можете использовать Updatepanel на своей странице,это не приведет к обратной передаче вашей страницы. Проверьте это, я использовал его. ControlID, заданный в & lt; asp:AsyncPostBackTrigger>, является элементом управления, при изменении индекса которого изменяются значения во втором выпадающем списке. панель обновления должна быть применена ко второму выпадающему списку, где значения должны быть отражены без обратной передачи. в приведенном ниже примере выпадающий список год заполняется в соответствии с выбранным процессом.

<asp:UpdatePanel ID="upSetSession" runat="server">
             <ContentTemplate>
         <asp:DropDownList ID="ddlyear" runat="server" AppendDataBoundItems="True" CssClass="textarea" ValidationGroup="validate">
             <asp:ListItem>Please Select</asp:ListItem>
         </asp:DropDownList>
                 <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="validateyear" ControlToValidate="ddlyear" Display="Dynamic" ErrorMessage="*" ForeColor="#FF3300" ToolTip="*" ValidationGroup="validate">*</asp:CustomValidator>
         </ContentTemplate>
              <Triggers>
                <asp:AsyncPostBackTrigger ControlID="ddlprocess" 

                    EventName="SelectedIndexChanged" />
            </Triggers>
       </asp:UpdatePanel>


Рейтинг:
0

Member 9018012

Я использовал ajax call updatepanel и триггеры.

Рейтинг:
0

Samatha Reddy G

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


Member 9018012

Спасибо. У меня есть 7 выпадающих списков, которые заполняют другой выпадающий список. Есть ли какой-нибудь способ уменьшить код?