Обработка DropDownList во вложенном ListView - PullRequest
0 голосов
/ 16 февраля 2011

У меня есть два вложенных .Net ListViews. Мне нужно отфильтровать содержимое внутреннего списка, выбрав его из выпадающего списка во внешнем списке. Компоновка элемента управления выглядит следующим образом:

<asp:listview id="lvOuter" runat="server" onitemdatabound="lvOuter_OnItemDataBound"
              onitemcommand="lvOuter_OnItemCommand" onitemcreated="lvOuter_ItemCreated" onselectedindexchanged="lvOuter_SelectedIndexChanged">
    <layouttemplate>
    <ul>
        <asp:placeholder id="itemPlaceholder" runat="server" />
    </ul>
    </layouttemplate>
    <itemtemplate>
        <asp:dropdownlist id="ddlTest" runat="server" onselectedindexchanged="ddlTerm_SelectedIndexChanged" autopostback="true" >
            <asp:listitem text="6" value="6"/>
            <asp:listitem text="9" value="9"/>
        </asp:dropdownlist>
        <asp:listview id="lvInner" runat="server" onselectedindexchanging="lvInner_SelectedIndexChanging"
                            onitemdatabound="lvInner_ItemDataBound" onitemcommand="lvInner_OnItemCommand">
             <layouttemplate>
                 <asp:placeholder id="itemPlaceholder" runat="server" />
             </layouttemplate>
             <itemtemplate>
                  <!--Results displayed here-->
              </itemtemplate>
          </asp:listview>
      </itemtemplate>
  </asp:listview>

При загрузке страницы я привязываю данные к внешнему представлению списка, а на OnItemDataBound я связываю внутренний просмотр списка.

Это все работает нормально, но сейчас мне нужно заново привязать внутренний просмотр списка с новым запрос, который включает параметр из выпадающего списка. Это должно произойти, когда пользователь выбирает новое значение в раскрывающемся списке. (OnSelectedIndexChanged)

Я могу достаточно легко получить доступ к значению через отправителя, например:

protected void ddlMyDropDown_OnSelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList ddlMyDropDown = sender as DropDownList;
    string value = ddlMyDropDown.SelectedValue;
}

но я не могу найти внутренний просмотр списка, относящийся к этому раскрывающемуся списку, чтобы связать результаты нового запроса с добавленным предложением where.

Я уверен, что это должно быть довольно распространенным требованием. Любые указатели будут с благодарностью.

1 Ответ

0 голосов
/ 16 февраля 2011

Вы пытались использовать что-то вроде <% # Eval ("value", "{0}")%> как видно здесь

Кажется, я помню, что делал что-то похожее на вашес этим.Прошло некоторое время с тех пор, как я сделал это, извините, если это не так.

...