0
我有一个下拉列表,用作记录导航控件 - 从下拉列表中选择一个值应该“跳转到”该记录。我觉得在这之前我做过这样的事情,但我无法让这个工作。这个问题似乎是我无法通过下拉列表来更改页面最初被调用的ID路由值。假设我的网页是从以下网址调用的:MVC4:从下拉列表选择动态更改路由值
/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,但看到在行为上没有区别。
任何帮助非常感谢。
感谢您的回复。我在此期间解决了根本没有使用路由值(而是使用简单的查询字符串参数 - 就像我使用传统的ASP)。 –