У меня есть раскрывающийся список, который служит элементом управления навигацией по записям — выбор значения из раскрывающегося списка должен «перейти» к этой записи. Я чувствую, что делал подобные вещи до того, как это сработало, но я не могу заставить это работать. Кажется, проблема в том, что я не могу заставить раскрывающийся список изменить значение маршрута идентификатора, с которым страница была первоначально вызвана. Допустим, моя страница вызывается с этого URL-адреса:
/PatientProfile/Services/12
12 — это значение ID-маршрута, это, по сути, начальная отображаемая запись. Это работает. Однако, когда я выбираю что-то из своего раскрывающегося списка, он будет перенаправлен на что-то вроде этого:
/PatientProfile/Services/12?ID=7
Обратите внимание, что 12 все еще присутствует в идентификаторе значения маршрута. В раскрывающемся списке был выбран идентификатор 7, но он добавлен к URL-адресу в качестве нового параметра вместо значения маршрута. Я хочу, чтобы это произошло:
/PatientProfile/Services/7
Вот как выглядит бритва для моего раскрывающегося списка:
@using (Html.BeginForm("Services", "PatientProfile", FormMethod.Get))
{
@Html.Label("ID", "View Profile:")
@Html.DropDownListFor(model => model.CurrentProfile.ID, ViewBag.ProfileID as SelectList, new { onchange = "this.form.submit();" })
}
Я пробовал как Html.DropDownList, так и Html.DropDownListFor, но не увидел разницы в поведении.
Любая помощь очень ценится.