【问题标题】:Get DropDownListFor selected value into Ajax.ActionLink call将 DropDownListFor 选定值获取到 Ajax.ActionLink 调用中
【发布时间】:2013-12-06 13:49:50
【问题描述】:

如何将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。

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-5


    【解决方案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

    欲了解更多信息:http://geekswithblogs.net/blachniet/archive/2011/08/03/updating-partial-views-with-unobtrusive-ajax-in-mvc-3.aspx

    否则,我会使用 JavaScript/jQuery 发布一个帖子,您可以在其中检索下拉值,然后再发出请求。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多