2014-11-05 1 views
0

У меня есть DropDownList в ASP.NET WebForms:ASP.NET DropDownList - добавить получить параметр в URL-адрес после изменения пункта

<asp:DropDownList runat="server" ID="ItemDate" DataSourceID="dsItems" DataTextField="Name" DataValueField="Value" AutoPostBack="true" EnableViewState="true" > 
        </asp:DropDownList> 

Но URL по-прежнему та же:

http://.../Default.aspx 

Я хочу изменить этот метод, URL должен иметь дополнительный параметр:

http://.../Default.aspx?item=23 
+0

я не нашел никакой связи между данным выпадающим списком и 'строкового элементом = Request.QueryString ["Item"]; 'как вы можете получить значение выпадающего списка в querystring, как это. Whats' Item', который ур передаёт, чтобы получить строку запроса –

+0

Я исправил эту ошибку – Robert

+0

hmm right .. now check my ответ ниже, как вы можете справиться с этим. –

ответ

0

вы можете использовать SelectedIndexC повешено события здесь связывает вас DropDown в ASPX следующим образом ..

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
      OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> 
</asp:DropDownList> 

затем в C# код позади использовать следующий фрагмент ..

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{   
    Response.Redirect(Request.Url.AbsolutePath+"?item=" + DropDownList1.SelectedValue); 
} 
+0

Хорошо, но теперь postback делает два раза – Robert

+0

Я согласен с вашей точкой .. javascript там, чтобы помочь вам .. если вы закончили .. тогда хорошо, я еще скажу вам .. –