gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 3 DropDownList 选定索引已更改

转载 作者:行者123 更新时间:2023-12-02 04:37:06 25 4
gpt4 key购买 nike

我有一项功能,允许用户根据自己的状态代码过滤记录。在菜单中,我有一个自定义过滤器部分:

<h3>Custom Filters</h3>
<br />
<ul id="ui-ajax-tabs">
@{ Html.RenderAction("GetGroups", "Manage");}
</ul>

我的部分 View 如下所示:

@model IEnumerable<AllEngage.Model.Group>

@using AllEngage.Web.Helpers

@foreach (var group in Model)
{
<li>
<label for="@group.GroupName">@group.GroupName</label>
@Html.DropDownList("GroupItems", group.GroupItems.ToSelectListItems())
</li>
}

当从下拉列表中选择一个项目时,我希望在我的 Controller 中触发一个操作方法:

[HttpGet]
public ActionResult Index(int page = 1, int groupFilterId = -1)

最好的方法是什么?使用 json 触发还是以某种方式执行回发?

最佳答案

您需要将参数传递给操作。执行此操作的最快方法 - 通过与操作中的参数同名的查询字符串:

http://mysite/GetGroups?groupFilterId=2

要刷新它,您需要发送带有参数的ajax请求,该参数将在下拉控件的onchange上触发。为您的过滤器控件指定一些 ID:

@Html.DropDownList("GroupItems", group.GroupItems.ToSelectListItems(), new {@id="ddlFilter"})

然后使用 jQuery 发出数据的 GET 请求:

$('#ddlFilter').change(function() {
var queryLink = '@Url.Action("GetGroups")';
if ($(this).val() != '') {
queryLink += '?groupFilterId=2';
}

$.get(queryLink, function(data) {
$('#ui-ajax-tabs').html(data);
});
});

关于asp.net-mvc - ASP.NET MVC 3 DropDownList 选定索引已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7952547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com