2011-12-20 3 views
0

im работающий на веб-сайте, который построен с использованием .net.Ссылка на тег Anchor с .net выпадающим списком

Theres выпадающий список на моей странице, что, когда выбрана опция þér обновления страницы, что мне нужно, хотя для страницы, чтобы обновить и ссылку на якорь дальше моей страницы «# компания-деталь»

<asp:DropDownList ID="DDL_Companies" runat="server" CssClass="selectd" onselectedindexchanged="DDL_Companies_SelectedIndexChanged" AutoPostBack="true"> 
    <asp:ListItem>Select a partner...</asp:ListItem> 
    <asp:ListItem>opt</asp:ListItem> 
    <asp:ListItem>opt</asp:ListItem> 
    <asp:ListItem>opt</asp:ListItem> 
    <asp:ListItem>opt</asp:ListItem> 
    <asp:ListItem>opt</asp:ListItem> 
</asp:DropDownList> 

ответ

1

Вы можете решить это с помощью javascript вместо обратного перехода к серверу. удалите AutoPostBack = true, а затем добавьте событие onchange() в отображаемый элемент select. Сделайте вашу навигацию по указанному здесь адресу

EDIT: Извините, не отображал требований к обновлению этой страницы. Я думаю, вы можете, в кругообороте на сервер, добавить RegisterClientScriptBlock, чтобы страница навигации была на стороне клиента после обновления. Это позволит сохранить значения на странице, а не сбоку Response.Redirect сервера http://msdn.microsoft.com/en-us/library/bahh2fef.aspx

1

Вы можете перезагрузить страницу, если выбрать элемент, как это: Response.Redirect("yourHost.aspx#company-detail")

+0

Могу ли я спросить, как это работает, я никогда не использовал .net before .. – Liam

+0

Set Dropdown event: 'protected void DropDownList1_SelectedIndexChanged (отправитель объекта, EventArgs e) { // Сделайте что-то, а затем Response.Redirect (Request.Url.AbsolutePath +" # company-detail "); } 'Но если вы это сделаете, вы потеряете информацию, которую вы собрали раньше (состояние просмотра). Вместо этого вы можете использовать Jquery в этом примере: '$ ('# myDropdownId'). Change (function() { \t window.location.hash = 'live'; });' – pilavust

Смежные вопросы