我有一个用作记录导航控件的下拉列表——从下拉列表中选择一个值应该“跳转到”该记录。我觉得我以前做过这样的事情,但我不能让这个工作。问题似乎是我无法获取下拉列表来更改最初调用页面的 ID 路由值。所以假设我的页面是从这个 URL 调用的:
/PatientProfile/Services/12
12 是这里的 ID 路由值——这本质上是显示的初始记录。这行得通。但是,当我从下拉列表中选择某些内容时,它会重定向到如下内容:
/PatientProfile/Services/12?ID=7
请注意 12 仍然存在于路由值 ID 中。ID 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,但没有发现行为差异。
非常感谢任何帮助。