如何将DropDownListFor
所选值添加到ActionLink
路由值(OrderId
)?
@Html.DropDownListFor(model => model.CustomerId, new SelectList(Model.Orders, "OrderId", "Total"))
@Ajax.ActionLink("View Order", "OrderDetails",
new
{
OrderId = 1 // Dropdown value here!
},
new AjaxOptions()
{
HttpMethod = "GET",
UpdateTargetId = "OrderDetailsDiv",
InsertionMode = InsertionMode.Replace
})
<div id="OrderDetailsDiv"></div>
我正在使用MVC 5.
答案 0 :(得分:1)
你能把你的下拉列表和链接放在AjaxForm中吗?
@using (Ajax.BeginForm("OrderDetails", new AjaxOptions { UpdateTargetId = "OrderDetailsDiv" }))
{
@Html.DropDownListFor(model => model.CustomerId, new SelectList(Model.Orders, "OrderId", "Total"))
<input type="submit" value="View Order" />
}
你将有一个名为OrderDetails的控制器方法,它接受一个模型对象,其中包含一个名为CustomerId的属性。
有关AjaxForms和模型的更多信息,请参阅此答案:Using Ajax.BeginForm with ASP.NET MVC 3 Razor
否则,我会使用JavaScript / jQuery发布帖子,您可以在发出请求之前检索下拉值。