Вопрос

Какой наилучший метод обработки ситуации, когда у вас есть ASP.Net Выпадающий список, который используется для ссылки на другой URL

отредактировано для большей ясности

Вот основной сценарий:

Выпадающий список с привязкой к нему 5 городов

Выбрав один из городов, я должен перейти по URL-адресу, основанному на этом городе

Прямо сейчас я отправляю ответную публикацию, используя событие "OnSelectedIndexChanged", затем обрабатываю событие и перенаправляю на соответствующую страницу.

Однако это приводит к 2 обращениям к серверу в каждом выбранном городе, 1 для обработки обратной передачи и перенаправления, затем еще один для отображения фактической страницы.

Является ли использование пользовательского javascript для создания URL-адреса моим лучшим вариантом?

Это было полезно?

Решение

Вы можете добавить обработчик на стороне клиента для события изменения выбора, а затем перенаправить на нужную страницу на основе выбранного значения:

<asp:DropDownList ID="ddl" runat="server"
  onchange="document.location.href = this.value;" >
    <asp:ListItem Text="a" Value="http://url1"></asp:ListItem>
    <asp:ListItem Text="b" Value="http://url2"></asp:ListItem>
    <asp:ListItem Text="c" Value="http://url3"></asp:ListItem>
    <asp:ListItem Text="d" Value="http://url4"></asp:ListItem>
</asp:DropDownList>

Другие советы

Установите значение autopostback равным false и добавьте это в событие на стороне клиента onchange (предполагая, что значение содержит полный URL, если нет, отредактируйте соответствующим образом):

window.navigate(this.options[this.selectedIndex].value);

Мне просто интересно, почему бы не получить информацию о городе через AJAX (есть несколько видеоуроков по www.asp.net/learn) и показывать пользователю информацию о городе вместо того, чтобы создавать другие дополнительные переходы на страницу?

это всего лишь идея, идея Web 2.0 :)

Если страница большая и вас беспокоит время рендеринга, вы можете использовать ajax для рендеринга результатов запроса.Затраты сервера на обработку данных post и перенаправление должны быть минимальными, и не стоит делать это на стороне клиента.Лично я бы больше сосредоточился на отображении данных, которые нужны пользователю в первый раз.

Обычно я бы согласился, но для каждой страницы необходимо иметь конкретный URL-адрес + также восстанавливать другие части страницы при нажатии на URL.

Но все же спасибо за предложения!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top