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

#c# #asp.net #.net #forms

#c# #asp.net #.net #формы

Вопрос:

Полное раскрытие информации: я очень новичок в .NET и вроде как нащупываю свой путь. Меня попросили внести изменения, и я не уверен, с чего именно начать. Надеялся, что кто-нибудь сможет предоставить полезную ссылку или пример. Был бы весьма признателен.

В принципе, я хотел бы прочитать в строке запроса… давайте назовем это «inquirytype». Если эта строка запроса равна «other», я хочу изменить выбор в выпадающем списке, который у меня есть в моем элементе управления .ascx (см. Ниже):

 <asp:DropDownList ID="inquiry_type" runat="server" CssClass="inquiry_type">
   <asp:ListItem Value="" Selected="True">Select Below</asp:ListItem>
   <asp:ListItem>Place an Order</asp:ListItem>
   <asp:ListItem>Order Status</asp:ListItem>
   <asp:ListItem>Other</asp:ListItem>
</asp:DropDownList>
  

Есть ли способ сохранить этот код в моем файле .ascx и при этом добиться этого, добавив что-то в мой файл .cs? Или я должен создать функцию в my .cs, которая полностью создает этот выпадающий список?

Заранее спасибо!

Ответ №1:

Попробуйте что-то вроде этого:

 DropDownList1.SelectedValue = Request.QueryString["foo"];
  

Вы также можете сделать это следующим образом:

 ListItem item = DropDownList1.Items.FindByValue(Request.QueryString["foo"]);
if (item != null)
{
    item.Selected = true;
}
  

Я не думаю, что вам нужно будет проверять значение null, но если вы это сделаете:

 DropDownList1.SelectedValue = Request.QueryString["foo"] ?? String.Empty;
  

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

1. О, вау, это работает как чемпион! Спасибо! Следующий вопрос: у меня есть некоторый javascript, связанный с этим выпадающим списком. Когда он изменяется, у меня отображаются два дополнительных поля формы. Если я использую этот код, эти поля не отображаются. Каков был бы наилучший способ запустить этот скрипт, чтобы они это сделали?

2. Итак, у вас есть какой-то JavaScript, который отображает поля при изменении выбора?

3. Это правильно. Это называется «запросы_type_onchange»… он считывает выбранную опцию с нулевым индексом, а затем отображает соответствующие поля.

Ответ №2:

если (Drodownlist.Текст == «») {

      //here  fill if is empty
     //lleno si esta vacio


        }
  

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

1. Пожалуйста, добавьте еще несколько пояснений и используйте формат кода для представления кода, выбрав код и нажав cntrl k